Recipe catalog
Every recipe in the default Shortwind registry, with its expanded Tailwind class list and a live preview.
badge
@badge-base
Badge shell — shape, sizing, focus ring. No bg/text/border color so variants can supply their own tone without conflicts.
inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2
Preview
@badge
Default neutral badge.
inline-flex items-center gap-1 rounded-full bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground
Preview
@badge-success
Success tone badge.
inline-flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-xs font-medium text-green-800 dark:bg-green-900 dark:text-green-200
Preview
@badge-warning
Warning tone badge.
inline-flex items-center gap-1 rounded-full bg-amber-100 px-2 py-0.5 text-xs font-medium text-amber-800 dark:bg-amber-900 dark:text-amber-200
Preview
@badge-danger
Danger tone badge.
inline-flex items-center gap-1 rounded-full bg-destructive/15 px-2 py-0.5 text-xs font-medium text-destructive
Preview
@badge-info
Info tone badge.
inline-flex items-center gap-1 rounded-full bg-primary/15 px-2 py-0.5 text-xs font-medium text-primary
Preview
@badge-outline
Outline badge — no fill.
inline-flex items-center gap-1 rounded-full border border-border px-2 py-0.5 text-xs font-medium text-foreground
Preview
card
@card
Default content card with border, padding, and surface color.
rounded-lg border border-border bg-card text-card-foreground p-4
Preview
@card-elevated
Card with raised shadow for emphasis.
rounded-lg border border-border bg-card text-card-foreground p-4 shadow-md
Preview
@card-flat
Card without border, on a muted surface.
rounded-lg bg-muted text-foreground p-4
Preview
@card-interactive
Clickable card with hover and focus-visible states.
rounded-lg border border-border bg-card text-card-foreground p-4 cursor-pointer transition-shadow hover:shadow-md focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring
Preview
@card-header
Card header region with bottom divider.
mb-3 border-b border-border pb-3
Preview
@card-body
Card body region.
py-1
Preview
@card-footer
Card footer with top divider and right-aligned actions.
mt-3 flex items-center justify-end gap-2 border-t border-border pt-3
Preview
code
@code-inline
Inline code span.
rounded bg-muted px-1.5 py-0.5 font-mono text-[0.875em] text-foreground
Preview
@code-block
Block of preformatted code.
overflow-x-auto rounded-md border border-border bg-muted p-4 font-mono text-sm leading-6 text-foreground
Preview
@kbd
Keyboard shortcut hint.
inline-flex items-center rounded border border-border bg-muted px-1.5 py-0.5 font-mono text-xs text-foreground shadow-sm
Preview
dialog
@dialog
Modal dialog wrapper — covers the viewport, centers content.
fixed inset-0 z-50 flex items-center justify-center p-4
Preview
Positioning recipe — preview not rendered inline.
@dialog-overlay
Dimmed overlay behind the dialog.
fixed inset-0 z-40 bg-black/50
Preview
Positioning recipe — preview not rendered inline.
@dialog-content
Dialog content panel.
relative z-50 w-full max-w-md rounded-lg border border-border bg-popover text-popover-foreground p-6 shadow-xl
Preview
@dialog-header
Dialog header region with title.
mb-4 flex flex-col gap-1
Preview
@dialog-footer
Dialog footer with right-aligned actions.
mt-6 flex items-center justify-end gap-2
Preview
empty
@empty
Empty-state container.
flex flex-col items-center justify-center gap-3 rounded-md border border-dashed border-border p-8 text-center
Preview
@empty-icon
Empty-state icon slot.
flex h-12 w-12 items-center justify-center rounded-full bg-muted text-muted-foreground
Preview
@empty-title
Empty-state title text.
text-base font-semibold text-foreground
Preview
@empty-description
Empty-state supporting description.
max-w-sm text-sm text-muted-foreground
Preview
feedback
@alert
Default informational alert.
flex items-start gap-3 rounded-md border border-border bg-card p-4 text-sm text-card-foreground
Preview
@alert-success
Success alert.
flex items-start gap-3 rounded-md border border-green-200 bg-green-50 p-4 text-sm text-green-900 dark:border-green-900 dark:bg-green-950 dark:text-green-100
Preview
@alert-warning
Warning alert.
flex items-start gap-3 rounded-md border border-amber-200 bg-amber-50 p-4 text-sm text-amber-900 dark:border-amber-900 dark:bg-amber-950 dark:text-amber-100
Preview
@alert-danger
Danger alert.
flex items-start gap-3 rounded-md border border-destructive/30 bg-destructive/10 p-4 text-sm text-destructive
Preview
@alert-info
Informational alert.
flex items-start gap-3 rounded-md border border-primary/30 bg-primary/10 p-4 text-sm text-primary
Preview
@callout
Inline callout — flush left edge accent.
border-l-4 border-primary bg-primary/10 p-4 text-sm text-foreground
Preview
@toast
Floating toast notification.
pointer-events-auto flex items-start gap-3 rounded-md border border-border bg-popover p-4 text-sm text-popover-foreground shadow-lg
Preview
@banner
Full-width banner spanning the viewport.
w-full bg-primary px-4 py-2 text-center text-sm font-medium text-primary-foreground
Preview
form
@input
Text input field.
block w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:border-ring focus:outline-2 focus:outline-offset-2 focus:outline-ring disabled:cursor-not-allowed disabled:opacity-50
Preview
@input-shell
shadcn/dinachi-style input shell — transparent background, h-9, file/ placeholder/selection/aria-invalid/focus-visible states baked in.
flex h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:border-destructive aria-invalid:ring-destructive/20 disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40
Preview
@input-error
Input in error state.
block w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:border-ring focus:outline-2 focus:outline-offset-2 focus:outline-ring disabled:cursor-not-allowed disabled:opacity-50 border-destructive focus:border-destructive focus:outline-destructive
Preview
@textarea
Multi-line textarea.
block w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground focus:border-ring focus:outline-2 focus:outline-offset-2 focus:outline-ring disabled:cursor-not-allowed disabled:opacity-50
Preview
@select
Native select control.
block w-full rounded-md border border-input bg-background px-3 py-2 text-sm text-foreground focus:border-ring focus:outline-2 focus:outline-offset-2 focus:outline-ring disabled:cursor-not-allowed disabled:opacity-50
Preview
@checkbox
Checkbox input.
h-4 w-4 rounded border-input text-primary focus:outline-2 focus:outline-offset-2 focus:outline-ring
Preview
@radio
Radio input.
h-4 w-4 border-input text-primary focus:outline-2 focus:outline-offset-2 focus:outline-ring
Preview
@field
Form field wrapper — label + input + help/error.
flex flex-col gap-1.5
Preview
@field-error
Form field in error state.
flex flex-col gap-1.5
Preview
@fieldset
Grouped form section with optional legend.
flex flex-col gap-4 rounded-md border border-border p-4
Preview
@help
Field-level helper text.
text-xs text-muted-foreground
Preview
icon
@icon-sm
Small icon — 16px.
h-4 w-4 shrink-0
Preview
@icon-md
Default icon size — 20px.
h-5 w-5 shrink-0
Preview
@icon-lg
Large icon — 24px.
h-6 w-6 shrink-0
Preview
@icon-muted
Icon with muted color.
text-muted-foreground
Preview
layout
@stack-xs
Vertical stack with extra-small gap.
flex flex-col gap-1
Preview
@stack-sm
Vertical stack with small gap.
flex flex-col gap-2
Preview
@stack-md
Vertical stack with medium gap.
flex flex-col gap-4
Preview
@stack-lg
Vertical stack with large gap.
flex flex-col gap-8
Preview
@row
Horizontal row with default gap and centered items.
flex flex-row items-center gap-2
Preview
@row-between
Horizontal row with space between children.
flex flex-row items-center justify-between gap-2
Preview
@row-end
Horizontal row aligned to the end.
flex flex-row items-center justify-end gap-2
Preview
@grid-2
Two-column responsive grid.
grid grid-cols-1 gap-4 sm:grid-cols-2
Preview
@grid-3
Three-column responsive grid.
grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3
Preview
@grid-4
Four-column responsive grid.
grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-4
Preview
@center
Center content horizontally and vertically.
flex items-center justify-center
Preview
@full
Fill the available width and height.
h-full w-full
Preview
list
@list
Vertical list with default gap.
flex flex-col gap-1
Preview
@list-item
Single list item.
flex items-center gap-2 rounded-md px-3 py-2 text-sm text-foreground
Preview
@list-bordered
List with dividing borders between items.
divide-y divide-border rounded-md border border-border
Preview
@dl
Definition list container.
grid grid-cols-1 gap-2 sm:grid-cols-3 sm:gap-4
Preview
@dt
Definition term.
text-sm font-medium text-muted-foreground
Preview
@dd
Definition description.
text-sm text-foreground sm:col-span-2
Preview
media
@avatar
User/profile avatar.
inline-flex h-10 w-10 items-center justify-center overflow-hidden rounded-full bg-muted text-sm font-medium text-muted-foreground
Preview
@avatar-sm
Small avatar.
inline-flex h-10 w-10 items-center justify-center overflow-hidden rounded-full bg-muted text-sm font-medium text-muted-foreground h-6 w-6 text-xs
Preview
@avatar-lg
Large avatar.
inline-flex h-10 w-10 items-center justify-center overflow-hidden rounded-full bg-muted text-sm font-medium text-muted-foreground h-14 w-14 text-base
Preview
@thumb
Small image thumbnail.
h-16 w-16 rounded-md object-cover
Preview
@aspect-square
1:1 aspect-ratio wrapper.
aspect-square w-full overflow-hidden rounded-md
Preview
@aspect-video
16:9 aspect-ratio wrapper.
aspect-video w-full overflow-hidden rounded-md
Preview
progress
@progress-track
Progress bar track (background).
h-2 w-full overflow-hidden rounded-full bg-muted
Preview
@progress-bar
Progress bar fill.
h-full rounded-full bg-primary transition-all
Preview
@spinner
Indeterminate loading spinner.
inline-block h-4 w-4 animate-spin rounded-full border-2 border-border border-t-primary
Preview
skeleton
@skeleton
Default rectangular skeleton placeholder.
animate-pulse rounded-md bg-muted
Preview
@skeleton-text
Single-line text skeleton.
h-4 w-full animate-pulse rounded bg-muted
Preview
@skeleton-circle
Circular skeleton (avatar/icon).
h-10 w-10 animate-pulse rounded-full bg-muted
Preview
surface
@surface
Default page/section surface.
bg-background text-foreground
Preview
@surface-muted
Muted surface — secondary background.
bg-muted text-foreground
Preview
@surface-accent
Accent surface — soft brand background.
bg-accent text-accent-foreground
Preview
@wrapper
Centered content wrapper with a max width.
mx-auto w-full max-w-6xl px-4 sm:px-6 lg:px-8
Preview
@wrapper-tight
Narrow content wrapper for prose.
mx-auto w-full max-w-3xl px-4 sm:px-6
Preview
@divider-h
Horizontal divider line.
shrink-0 h-px w-full bg-border
Preview
@divider-v
Vertical divider line.
shrink-0 h-full w-px bg-border
Preview
table
@table-container
Scroll container for a wide table — keeps overflow horizontal.
w-full overflow-x-auto rounded-md border border-border
Preview
@table
Data table base.
w-full border-collapse text-left text-sm text-foreground
Preview
@th
Table header cell.
border-b border-border px-3 py-2 text-xs font-semibold uppercase tracking-wide text-muted-foreground
Preview
@td
Table body cell.
border-b border-border px-3 py-2
Preview
@tr-hover
Row hover state.
transition-colors hover:bg-muted
Preview
@table-zebra
Table with zebra striping on alternating rows.
w-full border-collapse text-left text-sm text-foreground [&_tbody_tr:nth-child(odd)]:bg-muted
Preview
text
@heading-xl
Top-level page heading.
text-4xl font-bold tracking-tight text-foreground
Preview
@heading-lg
Large section heading.
text-2xl font-semibold tracking-tight text-foreground
Preview
@heading-md
Medium heading.
text-xl font-semibold text-foreground
Preview
@heading-sm
Small heading.
text-base font-semibold text-foreground
Preview
@body
Default body text.
text-sm leading-6 text-foreground
Preview
@lead
Lead paragraph — larger body copy for hero/intro sections.
text-lg leading-relaxed text-muted-foreground
Preview
@muted
Muted secondary text.
text-sm text-muted-foreground
Preview
@label
Form label text.
text-sm font-medium text-foreground
Preview
@caption
Caption — small supporting text.
text-xs text-muted-foreground
Preview
@link
Inline link with hover/focus states.
text-primary underline-offset-2 hover:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring
Preview
tooltip
@tooltip
Floating tooltip bubble.
pointer-events-none z-50 rounded-md bg-foreground px-2 py-1 text-xs font-medium text-background shadow-md
Preview