starc007/ui-components

beui

Pick and install beUI (@beui) animated React components through public MCP or the shadcn registry.

Ver código-fonte
Documento original do Skill

Renderizado do repositório de origem, preservando títulos, exemplos, código, tabelas, links e imagens.

beUI

Use beUI as copy-paste source through its public MCP or the @beui shadcn registry.

See the AI agents guide for current connection instructions and endpoints. The public MCP at https://mcp.beui.dev/mcp needs no license key or Pro authentication. For licensed components, use the separate beui-pro skill and Pro connection.

Workflow

  1. Discover current components with the public MCP's list_components or search_components when connected. Otherwise, fetch the live registry:
bash
curl -fsS https://beui.dev/r/registry.json
  1. For CLI installation, pick the closest install slug from items[].name in the live registry. Public MCP catalog slugs can name documentation pages with multiple installable variants. Do not assume every page slug is an install slug.
  2. Inspect the selected component with MCP get_component, or inspect an installable item through the CLI:
bash
npx shadcn@latest view @beui/<slug>
  1. Install the complete files returned by MCP using the project's paths and aliases, then install the listed package dependencies. Preserve existing helpers and local modifications. Alternatively, install a verified registry slug with the user's package runner:
bash
npx shadcn@latest add @beui/<slug>
# or
pnpm dlx shadcn@latest add @beui/<slug>
# or
bunx --bun shadcn@latest add @beui/<slug>
  1. Read the files that were added, then compose with the named exports. There is no beui runtime package. Validate any CLI command returned by MCP against the live install slugs before running it.

The live registry is the source of truth. Use the table below only to resolve common lookalikes.

Picker

User asks forInstall @beui/...Avoid
Toast or snackbaranimated-toast-stacknotification-stack
Expanding notification inboxnotification-stackanimated-toast-stack
Mobile bottom sheet, Vaul-style panelbottom-sheetdrawer
Side panel or app drawerdrawerbottom-sheet
App chrome sidebaranimated-sidebarbounce-sidebar, ai-sidebar
AI files, folders, bookmarksai-sidebaranimated-sidebar
Whole agent workspacechat-apphand-rolled chat shell
Streaming thread that follows tokensmessage-scroller, messagecustom scroll math
Just a chat bubblemessage-bubblecustom bubble
Prompt box or composerprompt-inputtextarea plus custom buttons
Agent reasoning, search, tool traceagent-activityplain log list
Task plantodo-listcustom checklist
Code surfacecode-blockpre/code from scratch
File difffile-diffcustom diff renderer
Tool outputtool-resultraw terminal block
Tool permission cardtool-approvalalert dialog
Approval or HITL questionapproval-cardcustom form
Inline citationscitationsplain numbered links
Generated image canvasimage-generationimage card from scratch
Liquid popoverpopoverpopover-morph
Corner morph popoverpopover-morphpopover
Dropdown selectselectselect-morph, combobox
Select that grows into panelselect-morphselect
Searchable selectcomboboxselect
Cmd+K palettecommand-palettecombobox
Right-click or long-press menucontext-menubloom-menu
Button that blooms into a menubloom-menucontext-menu
Press buttonbutton-basecustom motion.button
Loading/success/error buttonbutton-statefulspinner button
Magnetic buttonbutton-magneticcustom pointer tracking
Hold to confirmhold-action-buttonbutton-base
Slide to confirmslide-action-buttonswipeable-list
Hover CTA with expanding arrowexpanding-arrow-buttonbutton-base
Spinner, dots, bars loaderloaderthinking-shimmer
Agent thinking statusthinking-shimmerloader, text-shimmer
Cycling reasoning phrasesreasoning-texttext-cascade
Timed agent progress glyphagent-progressloader
Shimmer headline texttext-shimmerthinking-shimmer
Word or letter revealtext-revealtext-cascade
Chromatic cycling wordchromatic-text-revealtext-shimmer
Slot-machine letterstext-cascadetext-scramble
Scramble resolving texttext-scrambletext-cascade
Rolling digitsnumber-tickeranimated-number
Count-up on viewanimated-numbernumber-ticker
Tick-dot sliderrange-sliderother range-slider-*
Inline label sliderrange-slider-inlinerange-slider
Liquid fill sliderrange-slider-fluidrange-slider
Equalizer sliderrange-slider-waverange-slider
Tilting value bubble sliderrange-slider-bubblerange-slider
Ruler sliderrange-slider-rulerrange-slider
iOS wheel pickerwheel-pickerselect
macOS dockdockexpandable-action-bar
Icon actions with labelsexpandable-action-bardock
Overflow action railoverflow-actionsexpandable-action-bar
Icon tabs with active labelexpandable-tabstabs
Morphing tab content roommorphing-tabstabs
Pill or underline tabstabsexpandable-tabs
Hover gliding backgroundshared-layout-bgtabs
Preview ticks or railpreview-railbounce-sidebar
Dynamic Islanddynamic-islandnotification-stack
Swipe row actionsswipeable-listslide-action-button
Pull to refreshpull-to-refreshcustom touch math
Basic upload queuefile-uploadattachment-upload
Mixed file, audio, image attachmentsattachment-uploadfile-upload
OTP or PIN boxesotp-inputinput
Sign-up formsignup-formmanual form assembly
Theme wipetheme-toggleclass toggle only
Shader backgroundshader-backgroundcustom canvas
Cylinder carouselcylinder-carouselmarquee
Logo or text marqueemarqueecylinder-carousel
Data tabletableHTML table from scratch
Activity heatmap, contribution graphheat-calendarcustom grid
Monthly returns gridreturns-calendarheat-calendar
Analyst price target chart, forecast fanprice-target-fancustom svg chart
Editable tabletable-editabletable
Async tabletable-asynctable
Tournament bracketknockout-bracketknockout-wheel
Radial tournament wheelknockout-wheelknockout-bracket
404 pagenot-found-glitchcustom 404
Project folder cardproject-folderfolder card from scratch
Token or chain swapswapcustom swap form
Weekly availability editoravailability-schedulercustom calendar grid
Wallet overview cardwallet-cardcustom wallet card
Prediction market ticketprediction-marketcustom trade ticket
Feedback popupfeedback-widgetanimated-toast-stack
Infinite masonry gridinfinite-masonryCSS columns
Accordionbouncy-accordioncustom accordion
3D tilt cardtilt-cardcustom glare math
Tooltiptooltippopover
Switch, checkbox, radio, inputswitch, checkbox, radio, inputrestyled native controls

Composition rules

  • Prefer installed beUI source over custom one-off motion widgets.
  • Import named exports from the files shadcn adds.
  • Use className for layout and small styling changes. Do not fork internals unless the user asks.
  • Keep helpers installed by the registry, such as @/lib/ease, @/lib/utils, and hooks.
  • If adding new motion around beUI components, use useReducedMotion() from motion/react.
  • Gate decorative hover effects like magnetic pull and tilt behind useHoverCapable().
  • Animate transform and opacity; avoid layout-property animation.

In this repo

When contributing to beUI itself, follow AGENTS.md. A new public component needs source, preview, registry entry, and a passing bun run check:registry. Never rename existing /r/{name}.json slugs.

Chart components (heat-calendar, returns-calendar, price-target-fan) live under /charts in the docs. Their @beui install slugs are unchanged.

Compose charts from their root and exported parts. HeatCalendar provides HeatCalendarGrid, HeatCalendarLegend, and HeatCalendarTooltip; ReturnsCalendar provides ReturnsCalendarGrid and ReturnsCalendarTooltip. Put each calendar tooltip inside its grid. Both accept selection, defaultSelection, and onSelectionChange.

PriceTargetFan provides Header, Plot, Svg, Axes, History, Targets, Now, Cursor, and Tooltip parts (prefix each with PriceTargetFan). Put SVG parts inside Svg and put Tooltip beside Svg inside Plot. Pass current, targets, and an optional chronological history of { date: ISOString, price }; omitted history renders no historical series. Use active, defaultActive, and onActiveChange to control the readout. Each chart exports a use... hook for custom descendant content; tooltip children may be a render function. Sample data belongs in the consuming app, not the chart implementation. HeatCalendar.endDate uses the UTC calendar date.