<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Aniruddha Agarwal</title>
    <description>The latest articles on DEV Community by Aniruddha Agarwal (@aniruddha_agarwal_d3d6b0e).</description>
    <link>https://dev.to/aniruddha_agarwal_d3d6b0e</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3742192%2Ffc7c99ee-91d8-4a46-ad0f-280afc20568f.png</url>
      <title>DEV Community: Aniruddha Agarwal</title>
      <link>https://dev.to/aniruddha_agarwal_d3d6b0e</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aniruddha_agarwal_d3d6b0e"/>
    <language>en</language>
    <item>
      <title>BoldKit Spring 2026: v3.0 v3.2.2 - ASCII Animations, Canvas Effects, Dot Matrix Studio &amp; More</title>
      <dc:creator>Aniruddha Agarwal</dc:creator>
      <pubDate>Fri, 01 May 2026 02:33:23 +0000</pubDate>
      <link>https://dev.to/aniruddha_agarwal_d3d6b0e/boldkit-spring-2026-v30-v322-ascii-animations-canvas-effects-dot-matrix-studio-more-295i</link>
      <guid>https://dev.to/aniruddha_agarwal_d3d6b0e/boldkit-spring-2026-v30-v322-ascii-animations-canvas-effects-dot-matrix-studio-more-295i</guid>
      <description>&lt;p&gt;Spring 2026 has been the most productive stretch in &lt;a href="https://boldkit.dev" rel="noopener noreferrer"&gt;BoldKit&lt;/a&gt;'s history — the free neubrutalism UI component library for React and Vue 3. Six weeks, five major version bumps (v2.6 → v3.2.2), and more new capabilities than any previous release cycle.&lt;/p&gt;

&lt;p&gt;Here's everything that shipped.&lt;/p&gt;




&lt;h2&gt;
  
  
  March 2026
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🎨 Landing Page Redesign
&lt;/h3&gt;

&lt;p&gt;The homepage got a full editorial neubrutalism overhaul. The design direction: bold display typography, tight grid discipline, and strong color contrast — no gradients, no rounded corners, no safe choices.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What changed:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bebas Neue + DM Mono&lt;/strong&gt; — Bebas Neue for all display headlines (&lt;code&gt;clamp(56px, 14vw, 180px)&lt;/code&gt;), DM Mono for code snippets and labels&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Component collage hero&lt;/strong&gt; — a floating grid of live BoldKit components sits beside the headline on desktop, giving visitors an instant visual feel for the library&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stats bar&lt;/strong&gt; — 4 colored cells (50+ components, 10 charts, 45 shapes, MIT licensed) using the full neubrutalism vocabulary: &lt;code&gt;border-3&lt;/code&gt;, 4px offset shadows, zero border-radius&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Component showcase&lt;/strong&gt; — asymmetric grid showing cards, badges, buttons, charts, and shapes in a dense, editorial layout&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dark CTA section&lt;/strong&gt; — &lt;code&gt;bg-foreground&lt;/code&gt; background, high contrast, GitHub and docs CTAs side by side&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;The font stack ships via &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; in &lt;code&gt;index.html&lt;/code&gt; (not CSS &lt;code&gt;@import&lt;/code&gt;) to avoid PostCSS ordering constraints with Tailwind v4.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h3&gt;
  
  
  📱 Mobile &amp;amp; Responsive Fixes
&lt;/h3&gt;

&lt;p&gt;Several overflow and layout issues were fixed across breakpoints:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hero overflow below 518px&lt;/strong&gt; — the CLI command snippet was overflowing on very small screens. Fixed by adding &lt;code&gt;min-w-0&lt;/code&gt; to the &lt;code&gt;&amp;lt;code&amp;gt;&lt;/code&gt; element and &lt;code&gt;w-full min-w-0&lt;/code&gt; to its wrapper, removing the fixed &lt;code&gt;max-w&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stats bar mobile border&lt;/strong&gt; — the item at grid position &lt;code&gt;[1]&lt;/code&gt; had a right border that appeared mid-row on 2-column mobile layout; made it &lt;code&gt;md:border-r-3&lt;/code&gt; only&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Component showcase tablet&lt;/strong&gt; — added &lt;code&gt;md:grid-cols-2 lg:grid-cols-3&lt;/code&gt; with &lt;code&gt;md:col-span-1&lt;/code&gt; overrides so the layout works properly at all widths&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Global scrollbar hiding&lt;/strong&gt; — &lt;code&gt;scrollbar-width: none&lt;/code&gt; + &lt;code&gt;*::-webkit-scrollbar { display: none }&lt;/code&gt; applied globally in &lt;code&gt;globals.css&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🧩 Empty State: Animations, Layouts, and New Presets
&lt;/h3&gt;

&lt;p&gt;The Empty State component had undocumented features. All of them are now fully documented with live demos.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Animations&lt;/strong&gt; — three entrance animation variants — &lt;code&gt;fadeIn&lt;/code&gt;, &lt;code&gt;bounce&lt;/code&gt;, and &lt;code&gt;scale&lt;/code&gt; — now have live interactive demos with a &lt;strong&gt;Replay button&lt;/strong&gt; so you can see them fire on demand:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;EmptyState&lt;/span&gt;
  &lt;span class="na"&gt;preset&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"no-results"&lt;/span&gt;
  &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bounce"&lt;/span&gt;
&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Layouts&lt;/strong&gt; — both vertical (default) and horizontal layouts are now documented with side-by-side examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;14 presets&lt;/strong&gt; are fully covered: &lt;code&gt;no-results&lt;/code&gt;, &lt;code&gt;no-data&lt;/code&gt;, &lt;code&gt;error&lt;/code&gt;, &lt;code&gt;offline&lt;/code&gt;, &lt;code&gt;permission-denied&lt;/code&gt;, &lt;code&gt;coming-soon&lt;/code&gt;, &lt;code&gt;maintenance&lt;/code&gt;, &lt;code&gt;upload&lt;/code&gt;, &lt;code&gt;no-notifications&lt;/code&gt;, &lt;code&gt;no-messages&lt;/code&gt;, &lt;code&gt;no-favorites&lt;/code&gt;, &lt;code&gt;no-activity&lt;/code&gt;, &lt;code&gt;empty-cart&lt;/code&gt;, and &lt;code&gt;success&lt;/code&gt;. Plus success, warning, and destructive icon color variants.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔵 Vue 3 Parity: Examples on All 34 Doc Pages
&lt;/h3&gt;

&lt;p&gt;Every &lt;code&gt;ExampleSection&lt;/code&gt; on the BoldKit docs previously showed only React code. All 34 component doc pages that were missing Vue examples now have them:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Dialog · Drawer · DropdownMenu · Pagination · Popover · Progress · RadioGroup · ScrollArea · Select · Separator · Sheet · Skeleton · Sonner · Sticker · Switch · Table · Tabs · Textarea · Toggle · ToggleGroup · Tooltip · AlertDialog · AspectRatio · Avatar · Breadcrumb · Calendar · Collapsible · Command · HoverCard · InputOtp · Label · LayeredCard · Marquee · EmptyState&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Stateful examples use &lt;code&gt;&amp;lt;script setup&amp;gt;&lt;/code&gt; with &lt;code&gt;ref()&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight vue"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;script&lt;/span&gt; &lt;span class="na"&gt;setup&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;ref&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;vue&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;open&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;ref&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="k"&gt;script&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;template&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Dialog&lt;/span&gt; &lt;span class="na"&gt;v-model:open=&lt;/span&gt;&lt;span class="s"&gt;"open"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    ...
  &lt;span class="nt"&gt;&amp;lt;/Dialog&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="k"&gt;template&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  🔝 Header &amp;amp; Footer Redesign
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Header&lt;/strong&gt; — full neubrutalism upgrade:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;3px coral accent stripe full-width above the nav&lt;/li&gt;
&lt;li&gt;Bebas Neue wordmark; icon rotates -6° on hover&lt;/li&gt;
&lt;li&gt;Active nav: 3px primary underline (matches top stripe weight)&lt;/li&gt;
&lt;li&gt;Square &lt;code&gt;border-3&lt;/code&gt; theme toggle and hamburger that invert on hover&lt;/li&gt;
&lt;li&gt;Bordered search pill: icon + &lt;code&gt;Search...&lt;/code&gt; label + ⌘K kbd badge&lt;/li&gt;
&lt;li&gt;Mobile: full-screen overlay, body scroll lock, &lt;code&gt;env(safe-area-inset-bottom)&lt;/code&gt; for notched iPhones&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Footer&lt;/strong&gt; — restructured into three sections:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Always-dark hero with ghost &lt;code&gt;BUILD BOLD&lt;/code&gt; watermark in Bebas Neue&lt;/li&gt;
&lt;li&gt;Side-by-side React and Vue 3 install cards with framework branding&lt;/li&gt;
&lt;li&gt;4-column links grid with DM Mono bottom bar&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  v3.0.0 — Advanced Charts, Animated Shapes, Theme Presets (March 30)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📊 4 New Chart Types (14 Total)
&lt;/h3&gt;

&lt;p&gt;The chart library expanded with four advanced chart types, all styled in full neubrutalism with React and Vue 3 examples:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Chart&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;FunnelChart&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Conversion funnels, sales pipelines&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TreemapChart&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hierarchical area visualization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HeatmapChart&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Two-dimensional intensity grids&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SankeyChart&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Flow and allocation diagrams&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Install any chart via the shadcn CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest add &lt;span class="s2"&gt;"https://boldkit.dev/r/funnel-chart.json"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  ✨ Animated SVG Shapes
&lt;/h3&gt;

&lt;p&gt;All 45+ BoldKit shapes now support animation props:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;StarShape&lt;/span&gt;
  &lt;span class="na"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"float"&lt;/span&gt;   &lt;span class="c1"&gt;// spin | pulse | float | wiggle | bounce | glitch&lt;/span&gt;
  &lt;span class="na"&gt;speed&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"normal"&lt;/span&gt;      &lt;span class="c1"&gt;// slow | normal | fast&lt;/span&gt;
&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;7 animation variants, 3 speeds, pure CSS keyframes — no JS animation libraries required. A live showcase section was added to the &lt;code&gt;/shapes&lt;/code&gt; page.&lt;/p&gt;




&lt;h3&gt;
  
  
  🎨 14 Theme Presets in ThemeBuilder
&lt;/h3&gt;

&lt;p&gt;The Theme Builder got an upgraded card UI showing a 3-color strip preview, preset name, and descriptor tag. 14 curated presets are now available out of the box — covering everything from Cyberpunk to Pastel to Monochrome.&lt;/p&gt;




&lt;h3&gt;
  
  
  📄 Documentation Site Template
&lt;/h3&gt;

&lt;p&gt;A new Documentation Site template was added to &lt;code&gt;/templates&lt;/code&gt; — header, sidebar navigation, content area, and table of contents, all in neubrutalism style.&lt;/p&gt;




&lt;h2&gt;
  
  
  v3.0.4 — Math Curve Components &amp;amp; Shape Builder
&lt;/h2&gt;

&lt;h3&gt;
  
  
  📐 Math Curve Components
&lt;/h3&gt;

&lt;p&gt;Three new components driven by real parametric math — no third-party dependencies, pure SVG paths computed via a shared math engine:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;MathCurveLoader&lt;/code&gt;&lt;/strong&gt; — animated loading spinner with 8 curve variants:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;MathCurveLoader&lt;/span&gt;
  &lt;span class="na"&gt;curve&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"lissajous"&lt;/span&gt;   &lt;span class="c1"&gt;// rose | lissajous | butterfly | hypotrochoid |&lt;/span&gt;
                      &lt;span class="c1"&gt;// cardioid | lemniscate | fourier | rose3&lt;/span&gt;
  &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"md"&lt;/span&gt;           &lt;span class="c1"&gt;// sm | md | lg | xl&lt;/span&gt;
  &lt;span class="na"&gt;speed&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"normal"&lt;/span&gt;      &lt;span class="c1"&gt;// slow | normal | fast&lt;/span&gt;
&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;&lt;code&gt;MathCurveProgress&lt;/code&gt;&lt;/strong&gt; — value-driven progress indicator (0–100) across 5 open curves: &lt;code&gt;spiral&lt;/code&gt;, &lt;code&gt;heart&lt;/code&gt;, &lt;code&gt;lissajous&lt;/code&gt;, &lt;code&gt;cardioid&lt;/code&gt;, &lt;code&gt;rose&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;code&gt;MathCurveBackground&lt;/code&gt;&lt;/strong&gt; — ambient animated background layer wrapping children via &lt;code&gt;asChild&lt;/code&gt;. Four slow ambient curves playing simultaneously.&lt;/p&gt;

&lt;p&gt;All three ship for both React and Vue 3 / Nuxt.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔷 Shape Builder
&lt;/h3&gt;

&lt;p&gt;An interactive tool at &lt;code&gt;/shapes/builder&lt;/code&gt; — pick any of the 54 SVG shapes, adjust props visually (color, stroke, fill, size, animation), preview live, and copy the exact component code. No more guessing prop combinations.&lt;/p&gt;




&lt;h2&gt;
  
  
  v3.1.0 — ASCII Art Engine (April 16)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🖥️ 12 Animated ASCII Art Components
&lt;/h3&gt;

&lt;p&gt;The headline feature of v3.1.0. A complete ASCII animation engine built from scratch — no canvas, no WebGL, just text characters rendered at up to 60fps using real 3D math.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5 three-dimensional shapes&lt;/strong&gt; using perspective projection, z-buffering, and Lambertian shading:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiTorus&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rotating torus — X+Y axes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiDonut&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Classic &lt;a href="https://www.a1k0n.net/2011/07/20/donut-math.html" rel="noopener noreferrer"&gt;donut.c&lt;/a&gt; — X+Z axes, fatter tube&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiSphere&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Globe with rotating lat/lon grid and dark side&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiCube&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Solid cube with back-face culling and per-face shading&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiHelix&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;DNA double helix — two parametric strands with rungs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;7 generative 2D animations&lt;/strong&gt; drawn into a character grid each frame:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiSpiral&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Archimedean spiral arms rotating continuously&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiRose&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rose curve &lt;code&gt;r=cos(5θ)&lt;/code&gt; blooming and phase-shifting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiWave&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Multi-frequency sine interference scrolling left→right&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiVortex&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Rotating density field collapsing toward center&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiPulse&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Concentric rings expanding outward and fading&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiMatrix&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Characters raining downward per column&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;AsciiGrid&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Grid intersections pulsing with traveling waves&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Shared prop API&lt;/strong&gt; across all 12 components:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;AsciiTorus&lt;/span&gt;
  &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"md"&lt;/span&gt;          &lt;span class="c1"&gt;// sm (24×12) | md (48×24) | lg (72×36) | hero (120×60)&lt;/span&gt;
  &lt;span class="na"&gt;charset&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"blocks"&lt;/span&gt;   &lt;span class="c1"&gt;// blocks | braille | classic | line | dots&lt;/span&gt;
  &lt;span class="na"&gt;speed&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"normal"&lt;/span&gt;     &lt;span class="c1"&gt;// slow (0.4×) | normal (1×) | fast (2.2×)&lt;/span&gt;
  &lt;span class="na"&gt;color&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"#e74c3c"&lt;/span&gt;    &lt;span class="c1"&gt;// any CSS color; ignored when multicolor=true&lt;/span&gt;
  &lt;span class="na"&gt;multicolor&lt;/span&gt;         &lt;span class="c1"&gt;// cycles primary→secondary→accent→warning→info→success per row&lt;/span&gt;
  &lt;span class="na"&gt;animated&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;   &lt;span class="c1"&gt;// static first frame — fully SSR-safe, no RAF&lt;/span&gt;
&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Nuxt support:&lt;/strong&gt; &lt;code&gt;animated={false}&lt;/code&gt; works without &lt;code&gt;&amp;lt;ClientOnly&amp;gt;&lt;/code&gt;. Animated variants need &lt;code&gt;&amp;lt;ClientOnly&amp;gt;&lt;/code&gt; to avoid hydration mismatch.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# React&lt;/span&gt;
npx shadcn@latest add &lt;span class="s2"&gt;"https://boldkit.dev/r/ascii-shapes.json"&lt;/span&gt;

&lt;span class="c"&gt;# Vue 3 / Nuxt&lt;/span&gt;
npx shadcn-vue@latest add &lt;span class="s2"&gt;"https://boldkit.dev/r/vue/ascii-shapes.json"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h3&gt;
  
  
  📐 Math Curves: 15 Total
&lt;/h3&gt;

&lt;p&gt;7 new parametric curves added to all three Math Curve components:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Curve&lt;/th&gt;
&lt;th&gt;Formula&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;astroid&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;x=cos³(t), y=sin³(t)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;deltoid&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;3-cusped hypocycloid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;nephroid&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;2-cusped epicycloid (R=2, r=1)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;epicycloid&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;General epicycloid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;superellipse&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Lamé curve with n=2.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;triskelion&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;3-armed rotational spiral&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;involute&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Involute of a circle&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Previously 8 curves, now &lt;strong&gt;15 total&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔷 SVG Shapes: 64 Total
&lt;/h3&gt;

&lt;p&gt;10 new shapes added, including a new &lt;strong&gt;Mathematical&lt;/strong&gt; category:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Geometric:&lt;/strong&gt; &lt;code&gt;HeptagonShape&lt;/code&gt;, &lt;code&gt;DecagonShape&lt;/code&gt;, &lt;code&gt;RhombusShape&lt;/code&gt;, &lt;code&gt;EllipseShape&lt;/code&gt;, &lt;code&gt;TrefoilShape&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mathematical:&lt;/strong&gt; &lt;code&gt;FibonacciSpiralShape&lt;/code&gt;, &lt;code&gt;PenroseTriangleShape&lt;/code&gt;, &lt;code&gt;KochSnowflakeShape&lt;/code&gt;, &lt;code&gt;MobiusStripShape&lt;/code&gt;, &lt;code&gt;TorusShape&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Previously 54, now &lt;strong&gt;64 total&lt;/strong&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  ⭐ Rating Component
&lt;/h3&gt;

&lt;p&gt;New component with three icon variants, keyboard navigation, and half-step precision:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Rating&lt;/span&gt;
  &lt;span class="na"&gt;value&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;3.5&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="na"&gt;max&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
  &lt;span class="na"&gt;icon&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"star"&lt;/span&gt;      &lt;span class="c1"&gt;// star | heart | circle&lt;/span&gt;
  &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"md"&lt;/span&gt;        &lt;span class="c1"&gt;// sm | md | lg | xl&lt;/span&gt;
  &lt;span class="na"&gt;precision&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mf"&gt;0.5&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;  &lt;span class="c1"&gt;// 1 | 0.5&lt;/span&gt;
  &lt;span class="na"&gt;readOnly&lt;/span&gt;
  &lt;span class="na"&gt;aria-label&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Product rating"&lt;/span&gt;
&lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Full keyboard navigation (arrow keys), &lt;code&gt;aria-readonly&lt;/code&gt; support, configurable &lt;code&gt;aria-label&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest add &lt;span class="s2"&gt;"https://boldkit.dev/r/rating.json"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  v3.2.0 — Dot Matrix Studio
&lt;/h2&gt;

&lt;p&gt;A full in-browser pixel art and animation editor at &lt;code&gt;/studio&lt;/code&gt; — built entirely with BoldKit components.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Drawing tools:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Pencil, eraser, shapes (rectangle, ellipse, line), text tool&lt;/li&gt;
&lt;li&gt;Selection with Fill, Clear, and Invert actions&lt;/li&gt;
&lt;li&gt;Undo/redo stack&lt;/li&gt;
&lt;li&gt;Drag-and-drop image import&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Animation system:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;10 presets: Blink, Typewriter, ScanLine, Marquee, Ripple, Bounce, Slide, Wave, Rain, Fade&lt;/li&gt;
&lt;li&gt;Frame-by-frame editing&lt;/li&gt;
&lt;li&gt;Looping playback with reliable frame timing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Export options:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;WebM video&lt;/li&gt;
&lt;li&gt;PNG (single frame or spritesheet)&lt;/li&gt;
&lt;li&gt;SVG&lt;/li&gt;
&lt;li&gt;JSON (for re-import)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;UX details:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;localStorage&lt;/code&gt; persistence — your work survives a page refresh&lt;/li&gt;
&lt;li&gt;Share Tech Mono font for the authentic pixel-art terminal feel&lt;/li&gt;
&lt;li&gt;Pastel indigo theme&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  v3.2.1 — 10 Canvas Effects
&lt;/h2&gt;

&lt;p&gt;10 zero-dependency animated canvas components, copy-pasteable for React, Vue 3, and Nuxt 3:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Effect&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Aurora&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Northern lights gradient ribbons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DotBlob&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Organic morphing dot field&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;DotWave&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Wave-propagating dot grid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;FlowField&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Perlin noise vector field&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;LissajousGrid&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Animated Lissajous curve grid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MatrixRain&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Classic character rain&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Metaballs&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Organic merging blobs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;MouseRipple&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Ripple rings following the cursor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ParticleWeb&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Connected particle network&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;Plasma&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Sine-wave plasma color field&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Each ships with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full React and Vue 3 implementations (no runtime dependencies)&lt;/li&gt;
&lt;li&gt;shadcn CLI registry entries for one-command install&lt;/li&gt;
&lt;li&gt;Per-card install command copy buttons&lt;/li&gt;
&lt;li&gt;Live demos on the &lt;code&gt;/canvas-effects&lt;/code&gt; page
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# React&lt;/span&gt;
npx shadcn@latest add &lt;span class="s2"&gt;"https://boldkit.dev/r/aurora.json"&lt;/span&gt;

&lt;span class="c"&gt;# Vue 3 / Nuxt&lt;/span&gt;
npx shadcn-vue@latest add &lt;span class="s2"&gt;"https://boldkit.dev/r/vue/aurora.json"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  v3.2.2 — Accessibility &amp;amp; HiDPI Fixes (April 28)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  🎯 Accessibility Improvements
&lt;/h3&gt;

&lt;p&gt;A dedicated accessibility pass across the component library:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Slider&lt;/strong&gt; — &lt;code&gt;aria-label&lt;/code&gt; and &lt;code&gt;aria-valuetext&lt;/code&gt; props on thumbs; fixes stale closure in &lt;code&gt;onValueCommit&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rating&lt;/strong&gt; — configurable &lt;code&gt;aria-label&lt;/code&gt;; &lt;code&gt;aria-readonly&lt;/code&gt; attribute when &lt;code&gt;readOnly&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spinner&lt;/strong&gt; — &lt;code&gt;role="status"&lt;/code&gt; and &lt;code&gt;aria-label="Loading"&lt;/code&gt; defaults across all 5 variants&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Skeleton&lt;/strong&gt; — &lt;code&gt;aria-hidden="true"&lt;/code&gt; by default&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pagination&lt;/strong&gt; — &lt;code&gt;PaginationEllipsis&lt;/code&gt; gets &lt;code&gt;role="img"&lt;/code&gt; so its &lt;code&gt;aria-label&lt;/code&gt; is exposed to screen readers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;InputOTP&lt;/strong&gt; — &lt;code&gt;InputOTPSeparator&lt;/code&gt; gets &lt;code&gt;role="separator"&lt;/code&gt;; &lt;code&gt;InputOTPGroup&lt;/code&gt; gets &lt;code&gt;role="group"&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Breadcrumb&lt;/strong&gt; — removed invalid &lt;code&gt;role="link"&lt;/code&gt; and &lt;code&gt;aria-disabled&lt;/code&gt; from &lt;code&gt;BreadcrumbPage&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TreeView&lt;/strong&gt; — improved expand/collapse labels; &lt;code&gt;ArrowUp&lt;/code&gt;/&lt;code&gt;ArrowDown&lt;/code&gt; keyboard navigation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tour&lt;/strong&gt; — &lt;code&gt;role="dialog"&lt;/code&gt;, &lt;code&gt;aria-modal&lt;/code&gt;, &lt;code&gt;aria-labelledby&lt;/code&gt;, and &lt;code&gt;Escape&lt;/code&gt; key to close&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  📺 HiDPI / Retina Fix for Canvas Effects
&lt;/h3&gt;

&lt;p&gt;All 10 canvas effects now apply &lt;code&gt;devicePixelRatio&lt;/code&gt; scaling in their &lt;code&gt;resize()&lt;/code&gt; functions — canvas components are sharp on Retina and HiDPI displays instead of blurry at 2× or 3× pixel density.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// Before: blurry on HiDPI&lt;/span&gt;
&lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;w&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="c1"&gt;// After: sharp everywhere&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;dpr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;window&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;devicePixelRatio&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;width&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;w&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;dpr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;canvas&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;height&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;h&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt; &lt;span class="nx"&gt;dpr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="nx"&gt;ctx&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setTransform&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;dpr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;dpr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  By the Numbers
&lt;/h2&gt;

&lt;p&gt;Since March 2026, BoldKit grew from:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;March&lt;/th&gt;
&lt;th&gt;May&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;UI Components&lt;/td&gt;
&lt;td&gt;50+&lt;/td&gt;
&lt;td&gt;55+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Charts&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SVG Shapes&lt;/td&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;td&gt;64&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Math Curves&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ASCII Art Components&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Canvas Effects&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tools&lt;/td&gt;
&lt;td&gt;ThemeBuilder&lt;/td&gt;
&lt;td&gt;ThemeBuilder + Shape Builder + Dot Matrix Studio&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Version&lt;/td&gt;
&lt;td&gt;2.6.x&lt;/td&gt;
&lt;td&gt;3.2.2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🔗 Install BoldKit
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;React:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest add &lt;span class="s2"&gt;"https://boldkit.dev/r/[component].json"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Vue 3 / Nuxt:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn-vue@latest add &lt;span class="s2"&gt;"https://boldkit.dev/r/vue/[component].json"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;🌐 &lt;a href="https://boldkit.dev" rel="noopener noreferrer"&gt;boldkit.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;⭐ &lt;a href="https://github.com/ANIBIT14/boldkit" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📖 &lt;a href="https://boldkit.dev/docs" rel="noopener noreferrer"&gt;Docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎨 &lt;a href="https://boldkit.dev/canvas-effects" rel="noopener noreferrer"&gt;Canvas Effects&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🖥️ &lt;a href="https://boldkit.dev/studio" rel="noopener noreferrer"&gt;Dot Matrix Studio&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;If you're building with neubrutalism design — thick borders, hard shadows, sharp corners, bold type — BoldKit has everything you need for both React and Vue 3.&lt;/p&gt;

&lt;p&gt;Give it a star if you find it useful! ⭐&lt;/p&gt;

</description>
      <category>react</category>
      <category>vue</category>
      <category>ui</category>
      <category>opensource</category>
    </item>
    <item>
      <title>BoldKit Now Supports Vue 3: 45+ Neubrutalism Components for Vue Developers</title>
      <dc:creator>Aniruddha Agarwal</dc:creator>
      <pubDate>Sat, 07 Feb 2026 06:15:32 +0000</pubDate>
      <link>https://dev.to/aniruddha_agarwal_d3d6b0e/boldkit-now-supports-vue-3-45-neubrutalism-components-for-vue-developers-4l1o</link>
      <guid>https://dev.to/aniruddha_agarwal_d3d6b0e/boldkit-now-supports-vue-3-45-neubrutalism-components-for-vue-developers-4l1o</guid>
      <description>&lt;p&gt;Hey Vue developers! 👋&lt;/p&gt;

&lt;p&gt;Remember &lt;a href="https://boldkit.dev" rel="noopener noreferrer"&gt;BoldKit&lt;/a&gt;, the neubrutalism component library I introduced a few weeks ago? Well, I've got exciting news — &lt;strong&gt;BoldKit v2.0 is here with full Vue 3 support!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you missed the &lt;a href="https://dev.to/aniruddha_agarwal_d3d6b0e/introducing-boldkit-a-neubrutalism-react-component-library-36g1"&gt;original announcement&lt;/a&gt;, BoldKit brings the bold, raw aesthetic of neubrutalism to your projects with thick borders, hard shadows, and high-contrast colors that make your UI pop.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc2ytwsbhsj6fb61r2hnt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc2ytwsbhsj6fb61r2hnt.png" alt="BoldKit Preview" width="800" height="461"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What's New in v2.0?
&lt;/h2&gt;

&lt;p&gt;The entire component library has been ported to Vue 3:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;45+ components&lt;/strong&gt; built with Composition API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;35 SVG shapes&lt;/strong&gt; for decorative elements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;16 chart types&lt;/strong&gt; powered by vue-echarts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2 templates&lt;/strong&gt; (Landing Page &amp;amp; Portfolio)&lt;/li&gt;
&lt;li&gt;Full &lt;strong&gt;TypeScript&lt;/strong&gt; support&lt;/li&gt;
&lt;li&gt;Compatible with &lt;strong&gt;shadcn-vue CLI&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&gt;

&lt;p&gt;Getting started is dead simple. If you're using shadcn-vue:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install a single component&lt;/span&gt;
npx shadcn-vue@latest add https://boldkit.dev/r/vue/button.json

&lt;span class="c"&gt;# Install multiple components&lt;/span&gt;
npx shadcn-vue@latest add https://boldkit.dev/r/vue/button.json https://boldkit.dev/r/vue/card.json https://boldkit.dev/r/vue/input.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or set up the registry alias in your &lt;code&gt;components.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"registries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"@boldkit"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://boldkit.dev/r/vue"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn-vue@latest add @boldkit/button @boldkit/card @boldkit/dialog
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Code Example
&lt;/h2&gt;

&lt;p&gt;Here's what a simple card looks like in Vue:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight vue"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;script&lt;/span&gt; &lt;span class="na"&gt;setup&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"ts"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/components/ui/button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Card&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;CardHeader&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;CardTitle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;CardContent&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/components/ui/card&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Badge&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/components/ui/badge&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="k"&gt;script&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;&lt;/span&gt;&lt;span class="k"&gt;template&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;Card&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;CardHeader&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"bg-primary"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;CardTitle&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"flex items-center gap-2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        Welcome to BoldKit
        &lt;span class="nt"&gt;&amp;lt;Badge&lt;/span&gt; &lt;span class="na"&gt;variant=&lt;/span&gt;&lt;span class="s"&gt;"secondary"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;New&lt;span class="nt"&gt;&amp;lt;/Badge&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/CardTitle&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/CardHeader&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;CardContent&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"space-y-4"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Build bold, beautiful interfaces with ease.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"flex gap-2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;Button&amp;gt;&lt;/span&gt;Primary&lt;span class="nt"&gt;&amp;lt;/Button&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;Button&lt;/span&gt; &lt;span class="na"&gt;variant=&lt;/span&gt;&lt;span class="s"&gt;"secondary"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Secondary&lt;span class="nt"&gt;&amp;lt;/Button&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;Button&lt;/span&gt; &lt;span class="na"&gt;variant=&lt;/span&gt;&lt;span class="s"&gt;"accent"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Accent&lt;span class="nt"&gt;&amp;lt;/Button&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/CardContent&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/Card&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="k"&gt;template&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Clean, readable, and fully typed. Just how Vue should be. 😎&lt;/p&gt;

&lt;h2&gt;
  
  
  Vue-Specific Tech Stack
&lt;/h2&gt;

&lt;p&gt;BoldKit Vue is built on solid foundations:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Package&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Reka UI&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Headless primitives (Vue port of Radix UI)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;vue-echarts&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Charts and data visualization&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;vue-sonner&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Toast notifications&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;vaul-vue&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Drawer component&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;lucide-vue-next&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Icons&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;class-variance-authority&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Variant management&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;All components use the &lt;code&gt;&amp;lt;script setup&amp;gt;&lt;/code&gt; syntax with full TypeScript support and proper type inference.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Included?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Form Components
&lt;/h3&gt;

&lt;p&gt;Button, Input, Textarea, Checkbox, Radio Group, Select, Switch, Slider, Label, Input OTP&lt;/p&gt;

&lt;h3&gt;
  
  
  Layout &amp;amp; Containers
&lt;/h3&gt;

&lt;p&gt;Card, Layered Card, Dialog, Drawer, Sheet, Accordion, Collapsible, Tabs, Scroll Area, Aspect Ratio, Separator&lt;/p&gt;

&lt;h3&gt;
  
  
  Feedback &amp;amp; Status
&lt;/h3&gt;

&lt;p&gt;Alert, Alert Dialog, Badge, Progress, Skeleton, Toast (Sonner)&lt;/p&gt;

&lt;h3&gt;
  
  
  Navigation
&lt;/h3&gt;

&lt;p&gt;Breadcrumb, Dropdown Menu, Command Palette, Pagination, Popover, Tooltip, Hover Card&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Display
&lt;/h3&gt;

&lt;p&gt;Avatar, Table, Calendar, Charts (Area, Bar, Line, Pie, Radar, Radial)&lt;/p&gt;

&lt;h3&gt;
  
  
  Decorative (Neubrutalism Special)
&lt;/h3&gt;

&lt;p&gt;Sticker, Stamp, Sticky Note, Marquee, 35 SVG Shapes&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FANIBIT14%2Fboldkit%2Fmain%2Fassets%2Fshapes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FANIBIT14%2Fboldkit%2Fmain%2Fassets%2Fshapes.png" alt="BoldKit Shapes" width="800" height="2772"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Interactive Documentation
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://boldkit.dev/docs" rel="noopener noreferrer"&gt;BoldKit docs&lt;/a&gt; now have a framework toggle. Switch between React and Vue to see code examples for your preferred framework:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Every component has Vue source code&lt;/li&gt;
&lt;li&gt;Every example shows Vue usage&lt;/li&gt;
&lt;li&gt;Installation commands update automatically&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Theming Works the Same
&lt;/h2&gt;

&lt;p&gt;The CSS is identical between React and Vue. All the neubrutalism magic comes from CSS variables:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--primary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;84%&lt;/span&gt; &lt;span class="m"&gt;71%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;       &lt;span class="c"&gt;/* Coral */&lt;/span&gt;
  &lt;span class="py"&gt;--secondary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;174&lt;/span&gt; &lt;span class="m"&gt;62%&lt;/span&gt; &lt;span class="m"&gt;56%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;   &lt;span class="c"&gt;/* Teal */&lt;/span&gt;
  &lt;span class="py"&gt;--accent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;49&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt; &lt;span class="m"&gt;71%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;      &lt;span class="c"&gt;/* Yellow */&lt;/span&gt;
  &lt;span class="py"&gt;--shadow-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;240&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;             &lt;span class="c"&gt;/* Keep it square! */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use the &lt;a href="https://boldkit.dev/themes" rel="noopener noreferrer"&gt;Theme Builder&lt;/a&gt; to create custom themes — it works for both frameworks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Neubrutalism?
&lt;/h2&gt;

&lt;p&gt;If you're new to the style, neubrutalism is characterized by:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2s4qsn6s963m05lj6nd.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv2s4qsn6s963m05lj6nd.gif" alt="Neubrutalism Style Demo" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Thick borders&lt;/strong&gt; — 3px solid borders that define elements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hard shadows&lt;/strong&gt; — Offset shadows with zero blur (4px 4px 0px)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bold colors&lt;/strong&gt; — High-contrast, vibrant palettes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Square corners&lt;/strong&gt; — No border-radius allowed!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Raw typography&lt;/strong&gt; — Bold, uppercase text for emphasis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's the anti-minimalism movement, and it's perfect for portfolios, landing pages, and apps that want to stand out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🌐 &lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://boldkit.dev" rel="noopener noreferrer"&gt;boldkit.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📦 &lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/ANIBIT14/boldkit" rel="noopener noreferrer"&gt;github.com/ANIBIT14/boldkit&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;📚 &lt;strong&gt;Docs:&lt;/strong&gt; &lt;a href="https://boldkit.dev/docs" rel="noopener noreferrer"&gt;boldkit.dev/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🎨 &lt;strong&gt;Theme Builder:&lt;/strong&gt; &lt;a href="https://boldkit.dev/themes" rel="noopener noreferrer"&gt;boldkit.dev/themes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;🧩 &lt;strong&gt;Components:&lt;/strong&gt; &lt;a href="https://boldkit.dev/components" rel="noopener noreferrer"&gt;boldkit.dev/components&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;BoldKit is open source (MIT license). If you find bugs, have ideas, or want to contribute components, PRs are welcome!&lt;/p&gt;




&lt;p&gt;Whether you're a React developer or a Vue enthusiast, BoldKit has you covered. Give it a try and let me know what you build!&lt;/p&gt;

&lt;p&gt;Drop a ⭐ on &lt;a href="https://github.com/ANIBIT14/boldkit" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; if you find it useful.&lt;/p&gt;

&lt;p&gt;Happy coding! 🚀&lt;/p&gt;

</description>
      <category>vue</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Introducing BoldKit: A Neubrutalism React Component Library</title>
      <dc:creator>Aniruddha Agarwal</dc:creator>
      <pubDate>Fri, 30 Jan 2026 14:20:04 +0000</pubDate>
      <link>https://dev.to/aniruddha_agarwal_d3d6b0e/introducing-boldkit-a-neubrutalism-react-component-library-36g1</link>
      <guid>https://dev.to/aniruddha_agarwal_d3d6b0e/introducing-boldkit-a-neubrutalism-react-component-library-36g1</guid>
      <description>&lt;h2&gt;
  
  
  Introducing BoldKit: Neubrutalism for React
&lt;/h2&gt;

&lt;p&gt;Hey developers! I'm excited to share &lt;strong&gt;BoldKit&lt;/strong&gt;, a free and open-source React component library I've been working on. If you're tired of the same polished, rounded-corner UI libraries and want something that stands out, this might be for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Neubrutalism?
&lt;/h2&gt;

&lt;p&gt;Neubrutalism (or neo-brutalism) is a bold design trend that's been taking over the web. Think:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Thick 3px borders&lt;/strong&gt; that make elements pop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hard shadows&lt;/strong&gt; with zero blur (like &lt;code&gt;4px 4px 0px&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Vibrant, high-contrast colors&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Square corners&lt;/strong&gt; - no border-radius allowed!&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bold, uppercase typography&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It's raw, it's unapologetic, and it's incredibly eye-catching.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffkdpiiia3zbutgwexti9.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffkdpiiia3zbutgwexti9.gif" alt="Neubrutalism Example" width="800" height="502"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why BoldKit?
&lt;/h2&gt;

&lt;p&gt;I built BoldKit because I wanted:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;shadcn/ui compatibility&lt;/strong&gt; - Same architecture, familiar patterns&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-command installs&lt;/strong&gt; - Use the shadcn CLI you already know&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Full accessibility&lt;/strong&gt; - Built on Radix UI primitives&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Modern stack&lt;/strong&gt; - React 19, Tailwind CSS v4, TypeScript&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&gt;

&lt;p&gt;It's literally one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest add https://boldkit.dev/r/button.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or install multiple components:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest add https://boldkit.dev/r/button.json https://boldkit.dev/r/card.json https://boldkit.dev/r/input.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. No npm packages to manage, no version conflicts. Just copy-paste components that you own.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Included?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  45 Components
&lt;/h3&gt;

&lt;p&gt;Everything you need to build complete interfaces:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Form Controls:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Button (7 variants, 5 sizes)&lt;/li&gt;
&lt;li&gt;Input, Textarea&lt;/li&gt;
&lt;li&gt;Checkbox, Radio Group, Switch&lt;/li&gt;
&lt;li&gt;Select, Slider, Input OTP&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Layout:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Card &amp;amp; Layered Card (stacked paper effect!)&lt;/li&gt;
&lt;li&gt;Dialog, Drawer, Sheet&lt;/li&gt;
&lt;li&gt;Accordion, Tabs, Collapsible&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Feedback:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Alert, Alert Dialog&lt;/li&gt;
&lt;li&gt;Badge, Progress, Skeleton&lt;/li&gt;
&lt;li&gt;Toast notifications (Sonner)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Navigation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Breadcrumb, Dropdown Menu&lt;/li&gt;
&lt;li&gt;Command Palette, Pagination&lt;/li&gt;
&lt;li&gt;Popover, Tooltip&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  30 SVG Shapes
&lt;/h3&gt;

&lt;p&gt;Unique to BoldKit - decorative shapes for that extra neubrutalism flair:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;BurstShape&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;HeartShape&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;LightningShape&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/components/ui/shapes&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;BurstShape&lt;/span&gt; &lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;100&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text-primary&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;HeartShape&lt;/span&gt; &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;filled&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;strokeWidth&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;LightningShape&lt;/span&gt; &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;60&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"text-accent"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Shapes include: Burst, Blob, Lightning, Heart, Stars, Shield, Cloud, Diamond, Hexagon, and 20 more!&lt;/p&gt;

&lt;h2&gt;
  
  
  Code Example
&lt;/h2&gt;

&lt;p&gt;Here's a quick example of BoldKit in action:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tsx"&gt;&lt;code&gt;&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Button&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/components/ui/button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Card&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;CardHeader&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;CardTitle&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;CardContent&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/components/ui/card&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;Badge&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/components/ui/badge&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;BurstShape&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;from&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@/components/ui/shapes&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;WelcomeCard&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Card&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"relative overflow-hidden"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;BurstShape&lt;/span&gt;
        &lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="mi"&gt;80&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
        &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"absolute -top-4 -right-4 text-accent opacity-50"&lt;/span&gt;
      &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CardHeader&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"bg-primary"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CardTitle&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex items-center gap-2"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          Welcome to BoldKit
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Badge&lt;/span&gt; &lt;span class="na"&gt;variant&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"secondary"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;New&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Badge&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;CardTitle&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;CardHeader&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;CardContent&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"space-y-4"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Build bold, beautiful interfaces with ease.&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;p&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt; &lt;span class="na"&gt;className&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"flex gap-2"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Get Started&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt; &lt;span class="na"&gt;variant&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"secondary"&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;Learn More&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nt"&gt;div&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;CardContent&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Card&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Theming
&lt;/h2&gt;

&lt;p&gt;BoldKit uses CSS variables, making customization dead simple:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight css"&gt;&lt;code&gt;&lt;span class="nd"&gt;:root&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="py"&gt;--primary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;84%&lt;/span&gt; &lt;span class="m"&gt;71%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;       &lt;span class="c"&gt;/* Coral */&lt;/span&gt;
  &lt;span class="py"&gt;--secondary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;174&lt;/span&gt; &lt;span class="m"&gt;62%&lt;/span&gt; &lt;span class="m"&gt;56%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;   &lt;span class="c"&gt;/* Teal */&lt;/span&gt;
  &lt;span class="py"&gt;--accent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;49&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt; &lt;span class="m"&gt;71%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;      &lt;span class="c"&gt;/* Yellow */&lt;/span&gt;
  &lt;span class="py"&gt;--destructive&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt; &lt;span class="m"&gt;84%&lt;/span&gt; &lt;span class="m"&gt;60%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;   &lt;span class="c"&gt;/* Red */&lt;/span&gt;
  &lt;span class="py"&gt;--shadow-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;240&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt; &lt;span class="m"&gt;10%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0rem&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;             &lt;span class="c"&gt;/* Keep it square! */&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There's also a &lt;a href="https://boldkit.dev/themes" rel="noopener noreferrer"&gt;Theme Builder&lt;/a&gt; on the website where you can create and export custom themes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dark Mode
&lt;/h2&gt;

&lt;p&gt;Full dark mode support out of the box. The neubrutalism aesthetic works beautifully in both light and dark themes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Registry Setup (Optional)
&lt;/h2&gt;

&lt;p&gt;If you want to use the cleaner &lt;code&gt;@boldkit/component&lt;/code&gt; syntax, add this to your &lt;code&gt;components.json&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"registries"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"@boldkit"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://boldkit.dev/r"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then install components like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest add @boldkit/button @boldkit/card @boldkit/badge
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React 19&lt;/strong&gt; - Latest features&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS v4&lt;/strong&gt; - Modern utility-first CSS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Radix UI&lt;/strong&gt; - Accessible primitives&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;TypeScript&lt;/strong&gt; - Full type safety&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Class Variance Authority&lt;/strong&gt; - Clean variant management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vite&lt;/strong&gt; - Fast builds&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Website:&lt;/strong&gt; &lt;a href="https://boldkit.dev" rel="noopener noreferrer"&gt;boldkit.dev&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; &lt;a href="https://boldkit.dev/docs" rel="noopener noreferrer"&gt;boldkit.dev/docs&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Components:&lt;/strong&gt; &lt;a href="https://boldkit.dev/components" rel="noopener noreferrer"&gt;boldkit.dev/components&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shapes:&lt;/strong&gt; &lt;a href="https://boldkit.dev/shapes" rel="noopener noreferrer"&gt;boldkit.dev/shapes&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/ANIBIT14/boldkit" rel="noopener noreferrer"&gt;github.com/ANIBIT14/boldkit&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Contributing
&lt;/h2&gt;

&lt;p&gt;BoldKit is MIT licensed and open for contributions! Whether it's:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New components&lt;/li&gt;
&lt;li&gt;Bug fixes&lt;/li&gt;
&lt;li&gt;Documentation improvements&lt;/li&gt;
&lt;li&gt;New SVG shapes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the &lt;a href="https://github.com/ANIBIT14/boldkit/blob/main/CONTRIBUTING.md" rel="noopener noreferrer"&gt;Contributing Guide&lt;/a&gt; to get started.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It Today
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx shadcn@latest add https://boldkit.dev/r/button.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I'd love to hear what you think! Drop a comment below or open an issue on GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Star the repo if you find it useful!&lt;/strong&gt; &lt;a href="https://github.com/ANIBIT14/boldkit" rel="noopener noreferrer"&gt;github.com/ANIBIT14/boldkit&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with love by &lt;a href="https://github.com/ANIBIT14" rel="noopener noreferrer"&gt;Aniruddha Agarwal&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>design</category>
    </item>
  </channel>
</rss>
