Changelog

Latest updates and announcements.

Figma plugin: theme accuracy & reliability

An accuracy and reliability pass on the Figma plugin. Imports from shadcn Create now match shadcn init exactly, radius presets reach every component, and a failed theme fetch degrades visibly instead of silently.

Fixed

  • shadcn Create imports are now byte-exact against shadcn init. The primary pair could import as the wrong ramp step with a stock white foreground (e.g. lime importing #497d00 / #fafafa instead of #9ae600 / #35530e). The plugin's built-in palettes were regenerated from shadcn's current values, and fetched themes keep shadcn's hue-matched primary-foreground instead of overwriting it with a contrast-picked white or black.
  • accent, ring, sidebar-primary, and chart colors now follow shadcn's actual derivation. Accent and ring come from the base color, and the sidebar brand pair comes from the theme's chart scale.
  • Radius choices now reach every component. A preset radius (e.g. None) scales all per-component radius bindings, including inputs, selects, badges, tabs, sliders, and Pro components, the same way the web's --radius-derived scale does, instead of only the semantic ladder.
  • Changing Style in Create no longer resets your other selections, matching shadcncraft.com/create. Style defaults still apply on first load and Reset.
  • Rhea was missing from the style defaults table, so selecting it left fields on the previous style's values.

Improved

  • Theme fetching is no longer a single point of failure. Imports route through a first-party proxy with public fallbacks, each on a short timeout. A failed fetch falls back to the plugin's built-in palettes (now exact) with a visible notice instead of degrading silently, and invalid style and color combinations surface shadcn's actual error.
  • The Feedback link moved from the plugin footer into Settings.

Round-trip parity with shadcn init is now verified across every style, base color, and theme combination as part of the release process.

21 Table blocks, in Figma and React

Tables are the workhorse of every application UI, and they just got the full shadcncraft treatment. The Figma UI Kit gains a new tables category with 21 blocks, and every one of them ships as a React block built with TanStack Table.

21 Table blocks in Figma

  • 17 real-world tables covering the views applications actually need: customer lists, invoices, transactions, team members, task lists, support ticket queues, audit logs, file managers, product leaderboards, market overviews, role permission matrices, and analytics.
  • 5 state blocks most kits skip: empty (no data), empty (no results), loading, error, and offline. Every stage of a data view is designed, not improvised.
  • Like the rest of the kit, all of them respond to the Style and Theme variable modes, so every table works across all eight styles in light and dark.

For React: built with TanStack Table

The React versions are not static markup. Every table is wired up with TanStack Table, with working logic and realistic sample data out of the box:

  • Sorting on the columns you'd expect: dates, amounts, names.
  • Filtering with global search plus multi-select filters for status, role, method, and more.
  • Pagination, either numbered or through a shared data-table-pagination component that blocks recompose instead of duplicating.
  • Row selection with bulk actions, and per-row action menus.
  • Column visibility toggles from the toolbar.
  • Empty, loading, error, and offline states as dedicated blocks you can drop into any of the tables above.

Install one with the CLI and it adapts to your base, style, and icon library like every other shadcncraft block.

Badge: success and warning

A smaller update: Badge picks up two new variants, success and warning, joining the existing set. They're tuned per style, work in light and dark, and are used throughout the new tables for status columns.

Availability

  • The tables category is available now for Pro and Pro + React customers.
  • The React blocks are included with Pro + React.

v3.1: out of beta, with a new Rhea style

Our Pro Figma UI Kit is coming out of beta as v3.1. We went through every component to match shadcn as closely as possible.

What's new

  • New Rhea style, bringing the kit to eight styles.
  • Better alignment to shadcn across visuals, component states, names, and prop names, all brought closer to the shadcn/ui source.
  • Fewer variables, with the token system trimmed and simplified.
  • Fewer component variants, removing noise so each component matches shadcn's actual matrix.
  • More examples across components and blocks.
  • More slots for greater flexibility when composing.

Plugin

Availability

  • Now available for Pro and Pro + React customers. Base follows shortly after.

Native shadcn styles in Figma + shadcn Create import

The biggest update to the Figma UI kit yet. All seven shadcn styles now live natively in Figma variable modes, and the plugin can import any preset from shadcn Create.

Styles, native in Figma

  • All seven shadcn styles ship as modes inside the Figma file's Style variable collection:
    • Vega
    • Nova
    • Maia
    • Mira
    • Lyra
    • Luma
    • Sera
  • Switch between them from Figma's variables panel, no plugin needed.
  • Every component, block, and pro page in the file updates instantly when the Style mode changes.

shadcn Create preset import

  • The shadcncraft plugin now imports presets directly from shadcn Create.
  • Paste a preset URL into the plugin → a new Style mode is created in Figma, matching the preset's colors, radius, and fonts 1:1.
  • After import, the new style is editable via Figma's component-level variables.

Themes layer on top

  • Light and Dark themes live in Figma's Mode variable collection.
  • Every Style + Theme combination is valid: Light Nova, Dark Sera, etc.
  • Switch from the same variables panel.

Native icon switching

  • Icon set is now driven by a Figma variable and linked to the active Style, the same way shadcn handles icons in code.
  • Supported sets: Lucide, Hugeicons, Remix, Phosphor, Tabler.
  • Switching Style automatically swaps the icon set.

Pro components and blocks inherit Styles

  • Pro components, blocks, and layout templates now respond to the same Style

Availability

  • Initial support for Pro and Pro + React.
  • Base support is coming soon.

Support for bases, styles, and icon libraries

Our registry just evolved. shadcncraft components and blocks now adapt to your project's setup: your base, your style, your icon library, all picked up automatically from your shadcn config. Install something, and you get source that already matches the rest of your codebase. No find-and-replace afterwards. No fighting the defaults.

Until now, every item shipped as Radix UI with Lucide icons baked in. If your project ran on something else, the gap was yours to close.

You're still in charge

Your design system is yours. Your tokens, your fonts, your radius, your theme, your icons. None of that changes. What changed is that shadcncraft now meets you where you are instead of asking you to come to it.

  • Bases: Radix UI or Base UI. Same component API on both sides.
  • Styles: seven shadcn-compatible presets, each with its own feel:
    • Vega: the classic shadcn/ui look.
    • Nova: reduced padding and margins for compact layouts. The new default.
    • Maia: soft and rounded, with generous spacing.
    • Lyra: boxy and sharp. Pairs well with mono fonts.
    • Mira: compact. Made for dense interfaces.
    • Luma: fluid, luminous, and soft.
    • Sera: editorial and typographic.
  • Icon libraries: Lucide, Tabler Icons, Hugeicons, Phosphor Icons, or Remix Icon.

Whatever your components.json says, the install matches.

Try before you install

Every component and block page now has a live customizer, the same kind of experience you'll recognize from shadcn Create. Swap bases, switch styles, change the icon library, tweak fonts and radius, preview a different shadcn theme, and even apply a tweakcn theme on top of it. See exactly what you're about to bring into your project before you bring it in.

What changed for installs

If you're already using shadcncraft, nothing breaks. Your existing setup keeps working. To opt into the new behavior, point the registry at the style-aware URL:

{
  "registries": {
    "@shadcncraft": {
-     "url": "https://shadcncraft.com/r/{name}",
+     "url": "https://shadcncraft.com/r/{style}/{name}",
      "headers": {
        // ... your existing headers ...
      }
    }
  }
}

That's the whole migration, one line. Existing projects keep working untouched, and the legacy styles (new-york, default, new-york-v4) resolve to the classic radix-vega variant. Move over whenever it suits you.

What's next: Figma and code, aligned

We're actively working to bring the two sides closer together. The goal is a Figma-to-code experience that feels as close to working in shadcn natively as possible: same primitives, same styles, same icons, same tokens, picked up automatically on both sides. Expect more updates here over the coming releases as we close the remaining gaps.

Try it

SBIOTJ

Join 14,000+ builders shipping with shadcncraft

Design and assemble full pages faster with production-ready blocks built for real products.
  • Production-ready blocks and components
  • Clean React and Tailwind parity
  • Built for SaaS, marketing, and ecommerce teams
Get the design system
Join Now CTA

Real support from the team behind shadcncraft

Get help within 24 hours from the people who build and maintain the system.
Email
Prefer a direct line? Send us a message and we'll get back to you as soon as possible.
Discord
Get quick support, share feedback, or connect with other builders.
Feedback
Got something to say about anything shadcncraft? We'd love to hear it.