The sidebar's height is `calc(100% - 24px)` of its container, so each box below sizes it to fit fully (header, body, and footer all visible) rather than the full viewport.
Bundy
Workspace

neutral
This is an alert description explaining the current state.
primary
This is an alert description explaining the current state.
secondary
This is an alert description explaining the current state.
success
This is an alert description explaining the current state.
error
This is an alert description explaining the current state.
warning
This is an alert description explaining the current state.
info
This is an alert description explaining the current state.
pending
This is an alert description explaining the current state.
Without icon
Alerts work fine without an icon too.
Title only
Description only, no title.
Slot content
Custom rich content passed via the default slot.
Drop your file here
or click to browse
Drop your files here
or click to browse
Drop images here
PNG, JPG up to 10MB
Drop your file here
Outline (default)
Soft
Colors
Max tags
Disabled
Basic
Variants
Orientation
Min / max / step
Decimal step
Disabled
With FormField
Basic
Colors
Indicator
States
Required
Variants
Manage your account settings and preferences here.
Manage your account settings and preferences here.
Manage your account settings and preferences here.
Sizes
Orientation
With content
Manage your account settings and preferences here.
Disabled tab
Without icons
Basic
Colors
States
Indicator
Required
Card variant
Basic
Colors
Orientation
Indicator
States
Required
Card variant
Basic
Sides
With keyboard shortcut
Without arrow
Disabled
Soft (default)
Solid
With icons
Outline (default)
We'll never share your email.
Soft
Username is already taken.
Disabled
With icons
Outline (default)
Soft
Disabled
Rows
Autoresize
Autoresize with max rows
With icon
Resizable
With FormField
Feedback is required.
Basic
Variants
With icon
Multiple
Disabled
With FormField
Grouped
With divider
Clearable
Basic
Variants
With icon
Multiple (removable tags)
Multiple with icons
Disabled
With FormField
Grouped
With divider
Clearable
Basic (type to filter)
Variants
With icon
Multiple (removable tags)
Disabled
With FormField
Grouped
Clearable
Basic
Variants
Min / Max (this month only)
Disabled
With FormField
Clearable
Range
Basic
Variants
Format
Minute step (15 min)
Disabled
With FormField
Clearable
Range
Basic — click to open, or press ⌘K / Ctrl+K
Last selected
Nothing selected yet
Collapsed
Basic — previous and next page
First page — no previous link
Last page — no next link
Basic (empty)
Variants
Length
Number only
Masked
Disabled
With FormField
Last completed value
Not completed yet
Basic
Variants
Without the country picker
Disabled
Selected value
+1 empty
Basic (1 / 12)
Sibling count
Without edges
Without controls
Few pages (no dots needed)
Disabled
Drag the handle to dismiss.
Basic (50)
Range (25 – 75)
Variants
Colors
Min / max / step
4 (0–10, step 2)
With tooltip (drag the thumb)
Disabled
With FormField
Drag the pill by its grip (or any empty space in it) towards an edge of the box below — it snaps to whichever edge is nearest and switches between a horizontal and vertical layout as you cross between edges.
Bounded container — every FAB below stays confined to this box, not the full viewport
The top-anchored pill above has no handle and isn't draggable; the others can be dragged by their grip, empty space, or even their own buttons.
Grouped items
Vertical
Slot content mixed with items
Horizontal — click a step to navigate
Account
Create an account
Profile
Set up our profile
Complete
Complete the setup
Vertical
Intro
Get to know the basics
Basics
Advanced
Deep dive into advanced topics
Practice
Certification
Get your certificate
Non-linear (any step is clickable) + icons
Cart
Review your items
Shipping
Delivery details
Payment
Add payment method
Done
Order confirmed
Disabled step
Account
Create an account
Verify
Confirm your email
Profile
Set up our profile
Complete
Complete the setup
Line variant — a divided progress line, no circular trigger
Line variant — vertical
Line variant — with icons
Line variant — colors
Basic — single selection
Selected: none
Multiple selection
Selected: none
Controlled expansion
Disabled
Colors
Color
Scroll the box below — the active link tracks via CSS `scroll-target-group`/`:target-current` (Chromium 133+), no JS scroll-spy.
Placeholder content for "Introduction" — scroll to see the matching link on the left highlight automatically.
Placeholder content for "Installation" — scroll to see the matching link on the left highlight automatically.
Placeholder content for "Usage" — scroll to see the matching link on the left highlight automatically.
Placeholder content for "Basic usage" — scroll to see the matching link on the left highlight automatically.
Placeholder content for "Advanced usage" — scroll to see the matching link on the left highlight automatically.
Placeholder content for "FAQ" — scroll to see the matching link on the left highlight automatically.
Loading and empty states
Install the package with npm install bundy-ui, then import components as needed.
<template>
<UiButton>Click me</UiButton>
</template>{
"id": 1,
"name": "Example Item",
"description": "This is a sample JSON structure",
"active": true,
"tags": ["sample", "json", "example"],
"createdAt": "2026-01-16T12:00:00Z"
}npm install bundy-uiHorizontal
Vertical
Basic
Disabled
Basic
Colors
Outline variant
Large variant
Indeterminate
Buffering
Buffer
Circle variant
Circle-outline variant
Circle-lg variant
Circle-lg-outline variant
Circle buffering
Basic
Grouped items
With colors
Checkbox items
Disabled
With submenu
Basic
Grouped items
With colors
Checkbox items
With submenu
Disabled
Controlled open state
Basic
Different tags
Card preview