Xzero UI
Pro library

components

Use the public xzero-ui MCP server at https://mcp.xzero.co.uk/mcp. The complete Free and Pro library is available through this service. No account, sign-in, token, or upstream fallback is required. If the service is unavailable, retry later; do not use upstream services.

Pick the item whose job matches, not the one that looks closest. Ids below are the install names (npx shadcn@4.23.0 add @xzero-ui/<id>). Items marked Pro need Xzero Pro (a Pro account signed in to the MCP server, or a Pro token); offer the free pick otherwise. Only ids listed here or returned by search_components exist; do not guess others.

Contents

How to decide

  1. Name the job in one line ("pick one of three plans", "confirm deleting a project").
  2. Find candidates in the tables below or with search_components.
  3. Read each candidate's markdown (https://ui.xzero.co.uk/components/<id>/markdown or get_component). "When not to use" names the better alternative; follow it.
  4. Prefer a block for a whole region, a component for a single control. Replace block sample data; do not keep placeholder names or numbers.
  5. Use the same item for the same job everywhere in the app: one confirmation pattern, one menu, one table.

Actions and menus

JobPickInstead of
The main action on a surfacebutton (its default variant is "primary"), once per surfaceSeveral primary buttons
Other actionsbutton with variant="secondary" or "ghost" set explicitlyA bare <Button>, which renders primary
Dense toolbar actionaction-buttonFull buttons in a toolbar
Main action plus alternativessplit-buttonA row of equal buttons
Navigate somewhereA link (<a> or your router's Link), or a block action with href (hero-section, cta-section)button with a router push
A list of actions on a triggerdropdown-menuCustom popovers
Actions on a right-click or long presscontext-menuHidden gestures without a menu
Copy a valuecopy-buttonA button plus a toast
Label that changes with statebutton (new children crossfade in place); text-morph outside a buttonSwapping two buttons
Global search and commandscommand-paletteA search field in every page
Account, theme, sign outuser-menuA custom avatar menu
Hierarchy and pagingbreadcrumb, pagination
Light and dark switchtheme-switch

Inputs and forms

JobPickInstead of
Textinput, textarea; mention-input for @people and #channelsUnlabeled fields
Search inside a pagesearch-field; expanding-search in a tight header
Passwordpassword-field, plus password-strength on sign up
Numbers, phonenumber-field, phone-inputPlain input type="number"
One of 2 to 5 visible options in a formradio-groupselect
Options with a price, meta, or longer descriptionradio-cardsClickable cards you build
One of many optionsselect; combobox to type and filterradio-group
Several valuesmulti-select, tag-input, chip-group for filter facetsCheckbox lists in a popover
On or off that applies immediatelyswitchcheckbox
Agree, include, or a checklist inside a submitted formcheckboxswitch
View mode of the same content (2 to 5)segmented-controltabs
Range or levelsliderTwo number fields
Date, date range, timedate-picker, date-range-picker, time-pickercalendar (inline grid only)
Colorcolor-picker
Filesfile-dropzone (target), file-upload (full flow with progress)
Verification codeotp-inputSix inputs you wire yourself
Rich textrich-text-editorA textarea with markdown hints
Signaturesignature-padA canvas you wire yourself
Keyboard shortcutshortcut-recorderA text field for key names
Rename in placeinline-editA dialog for one field
A flow in stepsstepper with your fields; Pro: multi-step-form
Billing periodbilling-toggle (with BillingPrice)A segmented control plus hand-rolled prices

Overlays and disclosure

JobPickInstead of
A decision that must interrupt, or a short formdialogdrawer
A long form, filters, or record detail beside the pagedrawerdialog
Mobile-first secondary task with snap heightsbottom-sheetdialog on phones
Small anchored controls without dimming the pagepopoverdialog
One-line hint for an unfamiliar controltooltipEssential information (tooltips hide it)
Preview of a person or linkhover-card (also opens on focus)
Peer panels of one object (Overview, Activity, Settings)tabssegmented-control
Stacked sections read in order, FAQaccordiontabs
A card that needs more room on requestexpandable-cardNavigating away
Two panes that trade spaceresizable-panels
Long content in a fixed boxscroll-areaoverflow: auto with default bars

Feedback and status

JobPickInstead of
Confirm a foreground actionIn place: button loading, then its labeltoast
Destructive actionconfirm-morph; hold-to-confirm when an accidental tap must be nearly impossible; dialog when the consequence needs explainingA modal for every delete
Result of background worktoast, toast-stack for severalInline banners that shift layout
A message that stays until resolvedalert with tonetoast
Status labelbadge with toneColored text alone
Known progressprogress, stepper for stepsA spinner
Loadingskeleton in the final layoutA page spinner
Nothing to show yetempty-state with one action"No data"
Quota or allowanceusage-meterA bare progress bar
Site-wide noticeannouncement-barA banner you build
Peopleavatar, avatar-groupInitials you draw

Data display and charts

JobPickInstead of
Headline number (KPI)metric-card (label, number, context line, change chip)Hand-built KPI cards
Number that changesanimated-counterText that jumps
Records to sort and comparesortable-data-table; Pro: data-grid for spreadsheet editingDiv grids
Filters above a collectionfilter-toolbarLoose selects
Trend over timeline-chart; sparkline beside a value
Compare one measure across categories or daysbar-chartA line chart for categories
Share of a whole (up to about 5 parts)donut-chart; waffle-chart for percentages; treemap for a hierarchyA pie with many slices
Dense time series to zoom intobrush-chartA line chart with hundreds of ticks
Before and after across itemsslope-chartTwo bar charts
Distributions by groupridgeline
Layered totals over timestreamgraph
Value against a rangegauge
A year of daily activityactivity-heatmap
Events, newest firsttimeline
Nested structuretree-view
Code or JSONcode-block, json-viewer<pre>
Comments and chatcomment-thread, chat-thread
Feature comparison across plans or productscomparison-table (block)A hand-built table
A row of slidescarousel
Before and after imagesimage-compare
Row actions on touchswipe-actions (always with a menu path)Swipe only

Pro charts: funnel-chart, radar-chart, sunburst, sankey-flow, race-bar-chart, realtime-stream, activity-rings.

Text and motion

Use one text effect per page, where it explains something.

JobPick
A title entering as it scrolls into view (once)in-view-title
A short reveal on loadtext-reveal
A label that changes to its next statetext-morph
Ongoing work ("Generating")text-shimmer
Numbers or short text spinning to a new valueslot-text

App blocks

Free: command-palette, notification-center, file-upload, otp-input, page-header, empty-states (no results, offline, missing page), sign-in (email code card), login-centered (passkey card), signup-form.

Pro, by job:

JobPro blocks
App shellsidebar-rail, workspace-sidebar, inbox-sidebar, docs-sidebar
Sign in, full screenlogin-split, login-immersive
Settings and accountsettings-page, security-settings, roles-permissions, api-keys, webhooks, integrations
Billingbilling-overview, usage-billing, usage-forecast, invoice-studio, cancel-flow, checkout-summary
Teamteam-members, invite-people, team-directory
Analyticsmetrics-dashboard, metric-explorer, revenue-explorer, cohort-retention, mrr-waterfall, journey-flow, kpi-drilldown
Boardsproject-board
Setup flowsmulti-step-form, release-readiness
AIai-chat, ai-composer, agent-run
Support and inboxsupport-widget, support-conversation, inbox-triage
Commerceproduct-listing, product-detail, cart-drawer
Scheduling and mediaweek-calendar, availability-picker, media-player

Marketing blocks

Free: site-header, hero-section, logo-marquee, stats-band, plan-comparison, comparison-table, faq-section, cta-section, newsletter-signup, contact-section, blog-grid, changelog-feed, site-footer.

Pro: hero-signup, feature-bento, scroll-story, spotlight-grid, testimonial-stage, team-showcase, pricing-calculator, usage-pricing.

Notes:

Wiring rules