Catalogue

Components and blocks

164 pieces on one token set. Each page has a live preview in both themes, its guidelines and the command that installs it.

Install

  1. In a project set up for shadcn (npx shadcn@latest init), add the foundation: tokens, fonts and focus rules.

    npx shadcn@latest add https://irisui.dev/r/foundation.json
  2. Import it once from your global stylesheet, after Tailwind v4. It brings the tokens, the fonts and the Tailwind theme every component is styled with.

    @import "tailwindcss";
    @import "./components/iris/styles/foundation.css";
  3. Add any component by its URL, or register the namespace in components.json and use @iris/<name>.

    npx shadcn@latest add https://irisui.dev/r/split-button.json
    {
      "registries": {
        "@iris": "https://irisui.dev/r/{name}.json"
      }
    }
  4. Iris UI's --accent token shares its name with shadcn's default theme. If the project keeps shadcn's theme, import foundation.css after it so Iris UI's value wins, or remove shadcn's --accent.

  5. Set data-theme="dark" on <html> for dark mode; every token has a tuned dark value.

AI interface

AgentScreenWatch an agent's screen — open, teach a task, record.ApprovalCardHuman-in-the-loop questions the agent asks before acting.ChatPanelTabbed chat panel with reasoning replies and a composer.CodeBlockSource code with a filename, copy and collapse, or a unified diff of changed lines.ContextCardsRetrieved knowledge chunks with their sources.DiffTableAI-proposed edits sweeping through tabular data.FilterTableStatus chips that reorganize live data.FineTuneCardThe agent adjusts design properties in an inspector.FlowchartWorkflow trigger and condition steps on a dotted canvas.GlideMenuA wrapper that draws one shared hover highlight and glides it between the interactive rows inside it.InsightCardsPaged agent insights with scrub-ready live charts.LoadingStatePixel-grid loader with shimmer and elapsed time.PromptBarComposer with @ sources, / commands, model picker, and dictation.RecommendationCardAgent suggestion with a confidence meter and actions.RecordsTableCRM-style grid with tags, sorting, and relationship status.SearchListCommand search with live filtering and an empty state.SelectionActionsHighlight a passage and hand it to the agent to rewrite.SidebarNavCollapsible workspace and chat navigation with gliding hover states.StreamingTextStreamed answer with inline sources, actions, and follow-ups.TaskRowsLive agent task status — running, failed, completed.ThinkingStateExpandable traces — steps, reasoning, search, coding.ToolChipsCode edits and tool calls as compact chips.

Actions

Inputs

InputA single line field with clear labels and useful states.TextareaA multiline field for notes, descriptions, and longer text.SelectA compact choice field with a keyboard friendly menu.ComboboxSearch and select from a list without leaving the field.CheckboxA binary choice with a precise, legible state.SwitchA tactile toggle for settings that take effect immediately.MultiSelectSelect several values while keeping the field readable.NumberFieldEnter a bounded number with clear increment controls.PasswordFieldCapture sensitive text with a visible reveal control.SearchFieldA recognizable search entry point with clear affordances.TagInputTurn short text values into removable tags.FileDropzoneA generous target for dropping one or more files.RadioGroupChoose one option from a visible set.SegmentedControlSwitch between a small set of related views.CalendarBrowse dates in a clear, compact month view.DatePickerChoose a date without losing context.TimePickerChoose a time with sensible keyboard behavior.RatingA simple, accessible way to capture a numeric opinion.SliderPick a value or a range on a track that follows your finger.ElasticSliderA slider that stretches like rubber past its ends, with a swaying value tag and detents the thumb clicks into.InlineEditRename in place: the text becomes a field without moving.ExpandingSearchAn icon that morphs into a search field with results beneath it.ChipGroupFilter by a few facets with chips that morph as you pick them.PasswordStrengthShow how strong a new password is while it is typed.SignaturePadSmooth ink that thins with speed, with undo, replay, and PNG or SVG export.DateRangePickerA range picker that grows from its trigger into two months with presets and a stretching range highlight.ColorPickerA swatch that grows into a picker with format morphing, eyedropper, saved swatches, and contrast readout.MorphSelectA select whose trigger grows into the list, with a gliding highlight and type-ahead.ScrubInputA Figma-style number field: drag the label to scrub, or type values, units, and arithmetic.PhoneInputA phone field with a country picker, formatting as you type, and E.164 output.MoneyInputA currency field with live grouping, stable width, rolling digits, and minor-unit output.ShortcutRecorderRecord key combinations into key caps, with conflict warnings, Kbd, and a searchable cheatsheet.MentionInputA textarea with @people and #channel mentions that act as single tokens, with suggestions at the caret.RichTextEditorA lightweight editor with markdown shortcuts, a floating toolbar, a slash menu, and HTML and markdown output.BillingToggleA monthly and yearly switch with a savings badge and prices that roll to the new amount.RadioCardsSelectable option cards with a sliding selection ring, price and description slots, and radio keyboard behavior.FileUploadA complete file selection flow with constraints, progress, and error feedback.OtpInputA six digit verification flow with paste support and keyboard navigation.

Data display

AvatarA compact identity marker for people and accounts.AvatarGroupShow a team or set of contributors in a small space.BadgeA small label for status, category, or metadata.CardA contained group of related content and actions.MetricCardA compact summary for a number that needs context.EmptyStateA useful next step when there is nothing to show yet.TreeViewNavigate nested folders and structured content.PaginationMove through a long collection with clear bounds.FilterToolbarKeep collection filters close and easy to reset.SortableDataTableCompare structured records with sortable columns.AnimatedCounterGive changing totals a clear sense of movement.ReorderableListOrganize items with direct drag and drop.ImageCompareDrag a divider across two images to see what changed.CarouselBrowse a row of slides by dragging, flicking, or arrowing through them.CardStackReview a deck one card at a time, with a throw and an undo.TimelineFollow what happened, newest first, grouped by day.JsonViewerA collapsible JSON tree with search, paging for long arrays, and copy value or path.ChatThreadA chat thread with grouped messages, reactions, read receipts, typing, and a composer with attachments.CommentThreadThreaded comments with replies, reactions, mentions, inline edit, and resolve.ChipA small monospace token for code values such as field names, IDs and flags, set inline in text.EntityChipAn inline reference to a supplier, person or record: a coloured monogram disc plus the name in a soft pill.ValuePillA soft inline pill that sets off a plain value (a date, amount, name or count) inside running text.

Charts

Feedback

Overlays & disclosure

Text & motion

Blocks

SignupFormAn account creation flow with field validation, password strength, and a clear completion state.LogoMarqueeA quiet, continuously moving row of brand marks with a pause control.PlanComparisonCompare meaningful differences between plans and billing periods.ChangelogFeedRelease notes you can filter, open in place, and scroll through month by month.SignInA sign in card that morphs from email to a six digit code to your account.PageHeaderA project page header that folds into a compact bar as you scroll, with tabs whose counts roll.EmptyStatesFour empty states in one illustration whose shapes morph between scenes as you switch tabs.LoginCenteredA passkey-first login card on a quiet ring backdrop that morphs through email and code.SiteHeaderA sticky website header that turns solid on scroll, with a gliding active link, mega menu panels, and a mobile sheet.SiteFooterA website footer with link columns and newsletter, a minimal layout, and a large fading brand wordmark.HeroSectionThree full screen SaaS heroes: a live dashboard rising from the bottom edge over a drifting mesh, a workflow graph that routes sample events node by node, and editorial type over a mesh gradient.FaqSectionFAQs as an accordion, a topic rail, or a searchable list that highlights matches.ContactSectionA validated contact form that morphs into a confirmation, support channels, and office cards with local times.BlogGridA blog index with a featured post, category filter, post cards, pagination and an in-place reader.ComparisonTableAn us versus them table with a sticky header, a highlighted column, and a stacked phone view.StatsBandHeadline 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.CtaSectionA call to action as a centered closing section, a split beside a setup card that completes itself, or a dismissible banner.NewsletterSignupAn email signup framed by a stack of past issues; subscribing drops the next issue, addressed to you, onto the front.

Foundation and variants