Button group

File or Link Switcher

An attachment source switcher: two joined tabs swap the panel below, and the hidden panel leaves both the flow and the Tab order.

React + Tailwind, shadcn-compatible: press “Copy for AI” and your Cursor or Claude Code agent installs it with the shadcn CLI.

What you can change

  • the tab captions through fileLabel and linkLabel
  • the panel copy through filePrompt and linkPrompt
  • the initial tab through defaultValue

A link for your AI agent: preview, code and instructions.

Preview

1440pxHost theme
File or Link Switcher — An attachment source switcher: two joined tabs swap the panel below, and the hidden panel leaves both the flow and the Tab order.

Use it with AI

  1. 1. Copy the link.
  2. 2. Write to your agent in your own words and drop the link into the sentence.
  3. 3. The agent opens the link and installs the component from the registry.
AI
1Pick it here

put this on the home page as the hero:

https://vibeui.club/c/buttongroup-037?lang=en&theme=dark

2Paste into the chat
3Get it in your project

Not sure where to paste it? Step-by-step guide

Show the full instructions

What the link says, spelled out. Use it when your agent cannot open links — paste this text instead.

Loading…

How to use

<Buttongroup037
  fileLabel="Upload a file"
  linkLabel="Paste a link"
  defaultValue="file"
  name="source"
/>

A sample call. The agent installs the component itself from the registry via the “Copy for AI” link.

Settings

Tab
defaultValue · default: file
Accent
accent · default: theme colour
Background
background · default: theme colour
File tab caption
fileLabel · default: Upload a file
Link tab caption
linkLabel · default: Paste a link
Group name
label · default: Attachment source

FAQ

How do I add File or Link Switcher with Cursor or Claude Code?
Press “Copy for AI” on this page and paste it into your agent's chat. The instruction contains the shadcn CLI install command, the dependencies and what to keep, so the agent installs this exact component instead of recreating a lookalike.
What does File or Link Switcher depend on?
No npm packages beyond React and Tailwind CSS.
What can I change in File or Link Switcher?
Adapt: the tab captions through fileLabel and linkLabel; the panel copy through filePrompt and linkPrompt; the initial tab through defaultValue. Keep as installed: the local --vibeui-buttongroup-037-* palette — do not swap it for your theme tokens; display:none on the hidden panel: only it removes those fields from the Tab order and the accessibility tree; radios as the source of state — tab switching would otherwise need JS and its own keyboard.
Is File or Link Switcher free?
Yes. The preview is open without an account; with a free account you can copy up to 20 components a month.

For developers

npx shadcn@latest add https://vibeui.club/r/pro/buttongroup-037.json

This command needs a signed link: sign in and open “Component source” below — it issues a working link valid for 30 minutes. All install options

Technical notes

The component is self-contained: one file, no dependencies, its own palette in the --vibeui-buttongroup-037-* variables. It is a server component: the switching is held by radios, and the panels are shown by rules of the form [data-vibeui-block]:has([data-mode="file"] input:checked) [data-panel="file"]{display:block}. display:none is chosen deliberately: a hidden panel, together with its fields, honestly leaves the accessibility tree and the Tab order, which neither visibility nor opacity would give. The cluster and the panel are glued into one card by a shared border: the track has only its top corners rounded, the card has its outer ones, and everything excess is clipped by overflow:hidden. The selected tab is marked with an inset box-shadow at the bottom rather than a border, so that the content is not shifted.

Tags

  • buttongroup
  • tabs
  • upload
  • css-only
Component source

The same file your agent installs. Here in case you would rather copy it by hand.

Loading…