Docs / Component Styles

Component Styles

Choose from Vega, Nova, Maia, Lyra, Mira, Luma, Sera, and Rhea styles for shadcn/ui components. The same styles from Shadcn UI Create.

Shadcnblocks supports the same component styles available in the Shadcn UI Create page. These styles change the visual appearance of your shadcn/ui components. Each style applies different border radius, spacing, and visual treatments while maintaining full functionality.

Available Styles

Vega (New York)

The classic shadcn/ui look. Clean, neutral, and familiar.

  • Border radius: Medium (0.5rem)
  • Spacing: Balanced
  • Best for: Most projects, professional applications

This is the default style and matches the original shadcn/ui “New York” variant.

Nova

Reduced padding and margins for compact layouts.

  • Border radius: Small
  • Spacing: Tight
  • Best for: Data-heavy interfaces, dashboards

Maia

Soft and rounded, with generous spacing.

  • Border radius: Large (full rounded)
  • Spacing: Generous
  • Best for: Consumer apps, friendly interfaces

Lyra

Boxy and sharp. Pairs well with mono fonts.

  • Border radius: None (square corners)
  • Spacing: Balanced
  • Best for: Developer tools, technical interfaces

Mira

Compact. Made for dense interfaces.

  • Border radius: Small
  • Spacing: Minimal
  • Best for: Complex dashboards, data tables

Luma

Fluid, luminous, and soft. Pill-shaped controls and fully rounded cards.

  • Border radius: Full (pill)
  • Spacing: Generous
  • Best for: Consumer apps, marketing sites

Sera

Editorial and typographic. Square corners with roomy horizontal padding.

  • Border radius: None (square corners)
  • Spacing: Wide
  • Best for: Publications, portfolios, content-led sites

Rhea

Like Luma but compact. Rounded controls at a smaller scale.

  • Border radius: Large (capped)
  • Spacing: Compact
  • Best for: Product UI that wants Luma’s softness in less space

Previewing Styles

In the Explorer

The Explorer sidebar includes a Component Style selector. Select any style to instantly preview how blocks look with that style applied.

This is the best way to compare styles before committing to one for your project.

Style + UI Library

Styles work with Radix UI, Base UI and React Aria. The combination is specified in your components.json:

ConfigurationLibraryStyle
radix-vegaRadix UIVega
radix-novaRadix UINova
radix-maiaRadix UIMaia
radix-lyraRadix UILyra
radix-miraRadix UIMira
radix-lumaRadix UILuma
radix-seraRadix UISera
radix-rheaRadix UIRhea
base-vegaBase UIVega
base-novaBase UINova
base-maiaBase UIMaia
base-lyraBase UILyra
base-miraBase UIMira
base-lumaBase UILuma
base-seraBase UISera
base-rheaBase UIRhea
aria-vegaReact AriaVega
aria-novaReact AriaNova
aria-maiaReact AriaMaia
aria-lyraReact AriaLyra
aria-miraReact AriaMira
aria-lumaReact AriaLuma
aria-seraReact AriaSera
aria-rheaReact AriaRhea

Using Styles

1. Configure components.json

Set the style property to your preferred library-style combination:

{  "$schema": "https://ui.shadcn.com/schema.json",  "style": "radix-maia",  "rsc": true,  "tsx": true,  "tailwind": {    "config": "",    "css": "app/globals.css",    "baseColor": "neutral",    "cssVariables": true  },  "aliases": {    "components": "@/components",    "utils": "@/lib/utils",    "ui": "@/components/ui"  }}

2. Install Components

When you run the shadcn CLI, it reads your style setting and installs components with the correct visual treatment:

npx shadcn@latest add button card dialog

3. Install Blocks

Blocks from Shadcnblocks also respect your style setting:

npx shadcn@latest add @shadcnblocks/hero1

The block and all its component dependencies will use your configured style.

Previewing Libraries and Styles

On any block page, the toolbar has a library menu where you can switch between Radix UI, Base UI and React Aria (beta), and a style selector for the visual style. The preview, the code and the style value shown in the install instructions update to match your selection, so you can copy the exact {library}-{style} value into your components.json.

The CLI command in the toolbar works with whatever style you have configured; there is nothing to download. Set the value once in components.json and every npx shadcn@latest add @shadcnblocks/... install follows it.

Changing Styles

To switch to a different style in an existing project:

1. Update components.json

Change the style value:

{  "style": "radix-lyra"}

2. Re-install Components

Overwrite your existing components with the new style:

npx shadcn@latest add --all --overwrite

Or selectively update specific components:

npx shadcn@latest add button card input --overwrite

3. Verify Your UI

Check your application to ensure everything looks correct. Some custom modifications may need adjustment for the new style’s spacing or border radius.

Style Comparison

Here’s a quick comparison of key visual properties:

StyleBorder RadiusPaddingShadowBest For
VegaMediumBalancedSubtleGeneral purpose
NovaSmallCompactMinimalDashboards
MaiaLarge/FullGenerousSoftConsumer apps
LyraNoneBalancedSharpDev tools
MiraSmallMinimalNoneDense UIs
LumaFullGenerousSoftConsumer apps
SeraNoneWideNoneEditorial
RheaLargeCompactSoftCompact product UI

Mixing Styles

We don’t recommend mixing styles within a single project. Each style is designed as a cohesive system, and mixing can result in:

  • Inconsistent visual rhythm
  • Mismatched spacing
  • Confusing user experience

If you need different treatments for different sections, consider using themes (color variations) instead of different styles.

Styles vs Themes

Styles change the structural appearance:

  • Border radius
  • Padding and spacing
  • Shadow intensity
  • Component proportions

Themes change the colors:

  • Primary, secondary, accent colors
  • Background and foreground
  • Light and dark mode

You can combine any style with any theme. For example, use the Maia style (rounded, spacious) with a vibrant purple theme.

Learn more about themes in the Theming guide.

Next Steps