Cascader
Place Picker
A “building → floor → room” picker where each level is shaped by its nature: tabs, chips and a tile grid with capacity.
What you can change
- label — the heading above the levels
- buildings — the tree of buildings, floors and rooms with capacity and a busy flag
- defaultRoom — the room selected at first render
A link for your AI agent: preview, code and instructions.
Preview
Use it with AI
- 1. Copy the link.
- 2. Write to your agent in your own words and drop the link into the sentence.
- 3. The agent opens the link and installs the component from the registry.
put this on the home page as the hero:
https://vibeui.ru/c/cascader-016?lang=en&theme=dark
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…
For developers
The install command lives in the “Component source” block below — a signed link that stays valid for 24 hours.
Technical notes
The component is self-contained: one file, zero dependencies, its own palette in the local --vibeui-cascader-016-* variables. Client-side: the building, the floor and the room live in three useState hooks, and changing an upper level clears the lower ones. The levels are deliberately built from different elements: buildings are a role="tablist" with aria-selected, floors are chip buttons with aria-pressed, and rooms are a grid with auto-fill minmax(6.5rem, 1fr) that decides the column count from the card's own width rather than from the window width. A busy room gets a native disabled and a surface of its own, and the capacity is captioned and duplicated in the aria-label together with the status. The summary at the bottom assembles the full path and the capacity and is announced through aria-live.
Tags
- cascader
- rooms
- booking
- space
Component source
The same file your agent installs. Here in case you would rather copy it by hand.
Loading…