Component Showcase

All 53 shadcn-vue components installed in this project

Typography

Styles for headings, paragraphs, lists, and inline text elements

Taxing Laughter: The Joke Tax Chronicles

Once upon a time, in a far-off land, there was a very lazy king who spent all day lounging on his throne. One day, his advisors came to him with a problem: the kingdom was running out of money.

The King's Plan

The king thought long and hard, and finally came up with a brilliant plan: he would tax the jokes in the kingdom.

"After all," he said, "everyone enjoys a good joke, so it's only fair that they should pay for the privilege."

The Joke Tax

The king's subjects were not amused. They grumbled and complained, but the king was firm:

  • 1st level of puns: 5 gold coins
  • 2nd level of jokes: 10 gold coins
  • 3rd level of one-liners: 20 gold coins

As a result, people stopped telling jokes, and the kingdom fell into a gloom. But there was one person who refused to let the king's foolishness get him down: a court jester named Jokester.

Jokester's Revolt

Jokester began sneaking into the castle in the middle of the night and leaving jokes all over the place: under the king's pillow, in his soup, even in the royal toilet. The king was furious, but he couldn't seem to stop Jokester.

And then, one day, the people of the kingdom discovered that the jokes left by Jokester were so funny that they couldn't help but laugh. And once they started laughing, they couldn't stop.

The People's Rebellion

The people of the kingdom, feeling uplifted by the laughter, started to tell jokes and puns again, and soon the entire kingdom was in on the joke.

King's TreasuryPeople's happiness
EmptyOverflowing
ModestSatisfied
FullEcstatic

The king, seeing how much happier his subjects were, googled for a cause. The moral of the story is: never underestimate the power of a good laugh and always be careful of bad ideas.

Basic Inputs & Controls

Buttons, inputs, toggles, and form primitives

Button

Trigger actions and events. Supports multiple variants and sizes.

Badge

Small status indicators and labels for categorization.

Default
Secondary
Destructive
Outline
Approved
Error
Pending

Avatar

User profile images with fallback initials.

JDABMKSQ

Input

Standard text input field for forms and data entry.

Textarea

Multi-line text input for longer content.

Label

Accessible text labels for form controls.

Checkbox

Toggle individual options on or off.

Switch

Toggle control for binary on/off settings.

Slider

Select a numeric value by dragging a handle.

Toggle

A two-state button that can be toggled on or off.

Toggle Group

A group of toggles with single or multiple selection.

Radio Group

Select a single option from mutually exclusive choices.

Number Field

Numeric input with increment and decrement buttons.

Separator

Visual divider between content sections.

Item A
Item B
Item C

Skeleton

Animated placeholder shown while content is loading.

Progress

Displays completion status of a task.

Data Display

Cards, tables, calendars, and content containers

Card

Flexible container for grouping related content.

Daily Summary

March 8, 2026 -- Project overview

Total Items12,450
Revenue$18,230.00
Tasks Completed87 / 270
Updated 5 min ago

Table

Structured data display with header, body, and rows.

Recent orders -- March 2026
DateOrder IDCompanyQuantityTotal ($)
2026-03-08ORD-7712Acme Corp385527.40
2026-03-07ORD-3301Globex412601.15
2026-03-07ORD-9045Initech298389.22

Accordion

Collapsible content sections. Supports single or multiple expanded items.

Tabs

Tabbed interface for switching between views.

Project-wide metrics overview with daily totals.

Alert

Informational banners with default and destructive variants.

Alert Dialog

Modal confirmation that requires user acknowledgement.

Hover Card

Popover card that appears on hover.

Calendar

Date picker calendar with navigation.

May 2026
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
Event Date, May 2026

Range Calendar

Date range selector for picking start and end dates.

Event Date, May 2026
May 2026
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6

Scroll Area

Custom scrollable container with styled scrollbar.

Item #1001

Acme Corp -- Sales

315 units

Item #1002

Acme Corp -- Sales

330 units

Item #1003

Acme Corp -- Sales

345 units

Item #1004

Acme Corp -- Sales

360 units

Item #1005

Acme Corp -- Sales

375 units

Item #1006

Acme Corp -- Sales

390 units

Item #1007

Acme Corp -- Sales

405 units

Item #1008

Acme Corp -- Sales

420 units

Item #1009

Acme Corp -- Sales

435 units

Item #1010

Acme Corp -- Sales

450 units

Item #1011

Acme Corp -- Sales

465 units

Item #1012

Acme Corp -- Sales

480 units

Breadcrumb

Navigation breadcrumb trail.

Pagination

Page navigation with prev/next and numbered items.

Stepper

Multi-step progress indicator.

Select your data file

Parse and verify format

Apply transformations

Step 2 of 0

Tags Input

Multi-value input for adding and removing tags.

Design
Frontend
Backend

Pin Input

Segmented OTP/PIN code input.

Overlays & Navigation

Dialogs, menus, popovers, and selection components

Dialog

A modal window over page content with overlay.

Drawer

Panel that slides up from the bottom.

Sheet

Panel that slides from screen edge. Supports all 4 sides.

Dropdown Menu

Menu with items, separators, labels, and keyboard shortcuts.

Context Menu

Menu triggered by right-clicking an element.

Right-click here

Menubar

Horizontal menu bar with dropdown sub-menus.

Popover

Floating panel adjacent to the trigger element.

Tooltip

Small floating label on hover for additional context.

Command

Searchable command palette for quick actions.

Navigation
Dashboard
Projects
Team Members
Actions
Upload File
Export Report

Combobox

Searchable dropdown with selectable options.

Select

Native-like dropdown with grouped options.

Collapsible

Expandable/collapsible section.

Validation Rules (3 active)

REQUIRED_FIELD -- Field must not be empty

Sonner (Toast Notifications)

Lightweight toast notifications. toast() is auto-imported.

Charts & Visualization

Area, line, bar, donut charts, carousel, and resizable panels

Area Chart

Monthly metrics with gradient fill.

Line Chart

Same data rendered as lines.

Bar Chart -- Grouped

Grouped bar comparison per month.

Bar Chart -- Stacked

Stacked bars to show total volume per month.

Donut Chart

Revenue by category.

Carousel

Embla-powered carousel with navigation arrows.

Project Dashboard

Track all your projects in one place

6 Integrations

React, Vue, Angular, Svelte, Solid, Qwik

Smart Alerts

10 automated notification rules

Analytics

Automated reporting and insights

Resizable Panels

Drag-to-resize layout with grip handle.

Item List
Detail View

Custom Layout Components

App-level components (not rendered inline -- depend on auth state).

Header.vue

Sticky app header with logo, nav links, auth-aware profile dropdown, mobile hamburger via Sheet.

Footer.vue

Four-column footer with branding, links, and newsletter subscribe form.

ProfileAvatar.vue

Circular avatar with upload overlay. Props: path, size. Uploads to Supabase storage (2MB max).