<?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: Siddharth Bhansali</title>
    <description>The latest articles on DEV Community by Siddharth Bhansali (@_dssid).</description>
    <link>https://dev.to/_dssid</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%2F3873799%2Fcb0a7a87-0e11-4f82-b5a3-3549d7c089b1.jpg</url>
      <title>DEV Community: Siddharth Bhansali</title>
      <link>https://dev.to/_dssid</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/_dssid"/>
    <language>en</language>
    <item>
      <title>I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned</title>
      <dc:creator>Siddharth Bhansali</dc:creator>
      <pubDate>Fri, 17 Apr 2026 18:37:28 +0000</pubDate>
      <link>https://dev.to/_dssid/i-built-a-neumorphic-css-library-with-77-components-heres-what-i-learned-5687</link>
      <guid>https://dev.to/_dssid/i-built-a-neumorphic-css-library-with-77-components-heres-what-i-learned-5687</guid>
      <description>&lt;h2&gt;
  
  
  What is SoftUI?
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://softui-css.netlify.app" rel="noopener noreferrer"&gt;SoftUI&lt;/a&gt; is a neumorphic CSS component library. Instead of flat design or material shadows, everything uses soft, diffused shadows that make elements look like they're gently raised from or pressed into the surface.&lt;/p&gt;

&lt;p&gt;No React. No Vue. No build step. Just CSS classes and an optional vanilla JS file for interactive components.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/softui-css/dist/softui.min.css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/softui-css/dist/softui.min.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's it. Drop it in any HTML page and start using &lt;code&gt;sui-&lt;/code&gt; prefixed classes.&lt;/p&gt;

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

&lt;p&gt;Every CSS library looks the same — flat cards, sharp shadows, the same Bootstrap-inspired aesthetic. Neumorphism offers something different: depth without heaviness, texture without noise. When done right, it feels tactile and premium.&lt;/p&gt;

&lt;p&gt;The problem is that most neumorphic demos are just buttons and cards. Nobody built a complete, production-ready library with forms, data tables, modals, charts, and everything else you actually need. That's what SoftUI is.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's Inside
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;77+ components&lt;/strong&gt; across 9 categories:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Forms&lt;/strong&gt; — inputs, styled selects (no native dropdowns), toggles, checkboxes, radios, sliders, color picker, file upload, OTP input, combobox, calendar/date picker, segmented control, editable text, radio cards, checkbox cards&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;General&lt;/strong&gt; — buttons, cards, badges, avatars, chips, dividers, pricing cards, hero sections, list groups&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Display&lt;/strong&gt; — tables, sortable/filterable data tables with pagination, charts (bar, donut, line), stat cards, timeline, tree view, countdown timer, descriptions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback&lt;/strong&gt; — alerts, toasts, progress bars, spinners, skeleton loaders, loading overlays, result pages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Navigation&lt;/strong&gt; — navbar, sidebar, tabs, breadcrumbs, pagination, stepper, dock, speed dial, navigation menu with mega-menus, scrollspy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Overlays&lt;/strong&gt; — modals, sheets/drawers (with drag-to-dismiss), dropdowns, popovers, hover cards, tooltips, context menus, command palette&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Layout&lt;/strong&gt; — 12-column responsive grid, scroll area, accordion, collapsible, resizable panels, drag &amp;amp; drop&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Media&lt;/strong&gt; — carousel, lightbox, image diff, chat bubbles, browser/phone mockups, marquee, typewriter, text rotate, tour/walkthrough&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Utilities&lt;/strong&gt; — shadows, radius, spacing, text, flex, display, position, sizing, opacity, cursor, mask shapes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every component has a dedicated docs page with live examples and copyable code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dark Mode That Just Works
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;data-theme=&lt;/span&gt;&lt;span class="s"&gt;"dark"&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;One attribute. Every component adapts automatically. No separate dark stylesheet, no JavaScript toggle logic needed (though we provide one).&lt;/p&gt;

&lt;p&gt;All colors are CSS custom properties, so you can override them globally:&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;--sui-primary&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#7C5CFC&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--sui-bg&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#F0F2F5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
  &lt;span class="py"&gt;--sui-radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;12px&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;
  
  
  No Native UI Anywhere
&lt;/h2&gt;

&lt;p&gt;One decision I'm proud of: &lt;strong&gt;zero native browser UI&lt;/strong&gt;. Every &lt;code&gt;&amp;lt;select&amp;gt;&lt;/code&gt; is a custom styled dropdown. Every number input hides the native arrows. Date pickers use our own calendar component. Even the data table's filter and per-page selectors are custom dropdowns.&lt;/p&gt;

&lt;p&gt;This means the UI looks consistent across every browser and OS. No more fighting Chrome's default select styling vs Firefox's.&lt;/p&gt;

&lt;h2&gt;
  
  
  Built-in Accessibility
&lt;/h2&gt;

&lt;p&gt;Neumorphism has a reputation for being inaccessible (low contrast, no focus indicators). SoftUI addresses this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;WCAG AA contrast&lt;/strong&gt; on all text colors&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;:focus-visible&lt;/code&gt;&lt;/strong&gt; outlines on every interactive element&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;prefers-reduced-motion&lt;/code&gt;&lt;/strong&gt; disables all animations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ARIA attributes&lt;/strong&gt; on modals, tabs, dropdowns, accordions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keyboard navigation&lt;/strong&gt; — arrow keys in dropdowns, Escape to close overlays, Tab trapping in modals&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RTL support&lt;/strong&gt; — CSS logical properties + &lt;code&gt;dir="rtl"&lt;/code&gt; overrides for Arabic, Hebrew, Farsi&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Print styles&lt;/strong&gt; — hides overlays, removes shadows, adds borders&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Data Table
&lt;/h2&gt;

&lt;p&gt;The data table deserves its own mention. It does sort, search, filter, and paginate — all built-in with zero custom JavaScript:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&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;"sui-datatable"&lt;/span&gt;&lt;span class="nt"&gt;&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;"sui-datatable-toolbar"&lt;/span&gt;&lt;span class="nt"&gt;&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;"sui-datatable-search"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Search..."&lt;/span&gt;&lt;span class="nt"&gt;&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;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"sui-dropdown sui-datatable-filter"&lt;/span&gt; &lt;span class="na"&gt;data-filter-attr=&lt;/span&gt;&lt;span class="s"&gt;"data-status"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"sui-dropdown-toggle"&lt;/span&gt; &lt;span class="na"&gt;data-sui-dropdown&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"sui-datatable-filter-label"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;All Status&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/button&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;"sui-dropdown-menu"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;button&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"sui-dropdown-item active"&lt;/span&gt; &lt;span class="na"&gt;data-value=&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;All&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;class=&lt;/span&gt;&lt;span class="s"&gt;"sui-dropdown-item"&lt;/span&gt; &lt;span class="na"&gt;data-value=&lt;/span&gt;&lt;span class="s"&gt;"active"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Active&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;class=&lt;/span&gt;&lt;span class="s"&gt;"sui-dropdown-item"&lt;/span&gt; &lt;span class="na"&gt;data-value=&lt;/span&gt;&lt;span class="s"&gt;"inactive"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Inactive&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;/div&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;table&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"sui-table"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;thead&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;data-sort=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Name&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;data-sort=&lt;/span&gt;&lt;span class="s"&gt;"number"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Amount&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&lt;/span&gt; &lt;span class="na"&gt;data-sort=&lt;/span&gt;&lt;span class="s"&gt;"string"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Status&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/thead&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;tbody&amp;gt;&lt;/span&gt;
      &lt;span class="nt"&gt;&amp;lt;tr&lt;/span&gt; &lt;span class="na"&gt;data-status=&lt;/span&gt;&lt;span class="s"&gt;"active"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;td&amp;gt;&lt;/span&gt;Alice&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;/span&gt;$299&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;&lt;/span&gt;Active&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
      &lt;span class="c"&gt;&amp;lt;!-- more rows --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/tbody&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/table&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;"sui-datatable-footer"&lt;/span&gt;&lt;span class="nt"&gt;&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;"sui-datatable-info"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&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;"sui-datatable-pagination"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/div&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;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Click column headers to sort (3-click cycle: ascending, descending, reset). The styled filter dropdown filters by data attributes. Pagination auto-generates. Search is real-time. All working together.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interactive Playground
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://softui-css.netlify.app/playground/" rel="noopener noreferrer"&gt;Playground&lt;/a&gt; lets you write HTML and see SoftUI components rendered instantly. There are 110 drag-and-drop snippets organized by category — click one and it inserts the code. Great for experimenting before committing to your project.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Demo App
&lt;/h2&gt;

&lt;p&gt;To prove SoftUI works for real apps, there's a full &lt;a href="https://softui-demo.netlify.app" rel="noopener noreferrer"&gt;CloudMetrics demo&lt;/a&gt; — a SaaS dashboard with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Login page&lt;/li&gt;
&lt;li&gt;Dashboard with stat cards, charts, tables, activity feed&lt;/li&gt;
&lt;li&gt;Analytics with bar charts, donut charts, radial progress&lt;/li&gt;
&lt;li&gt;Customers with searchable/filterable data table, detail sheets&lt;/li&gt;
&lt;li&gt;Orders with timeline tracking&lt;/li&gt;
&lt;li&gt;Invoices with date picker modals&lt;/li&gt;
&lt;li&gt;Team management with cards and invite modals&lt;/li&gt;
&lt;li&gt;Settings with profile forms, password validation, notification toggles&lt;/li&gt;
&lt;li&gt;Upgrade page with selectable pricing cards&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every page is responsive, every form uses styled selects and date pickers, every dropdown and modal works correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd Do Differently
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Start with fewer components, ship faster.&lt;/strong&gt; I built 77 components before launching. In hindsight, 20 solid ones would have been enough to get feedback and traction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Design tokens from day one.&lt;/strong&gt; Adding &lt;code&gt;dist/tokens.json&lt;/code&gt; was an afterthought. If I'd structured the CSS variables as a token system from the start, theming would be even more powerful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write content earlier.&lt;/strong&gt; The library was feature-complete for weeks before I started writing about it. Content (articles, comparisons, tutorials) is what drives discovery.&lt;/p&gt;

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



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;softui-css
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or just add the CDN link and start building:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"https://unpkg.com/softui-css/dist/softui.min.css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;&lt;a href="https://softui-css.netlify.app" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://softui-demo.netlify.app" rel="noopener noreferrer"&gt;Live Demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://softui-css.netlify.app/playground/" rel="noopener noreferrer"&gt;Playground&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/siddharth-bhansali/softui" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/softui-css" rel="noopener noreferrer"&gt;npm&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;MIT licensed, free forever. If you find it useful, a &lt;a href="https://github.com/siddharth-bhansali/softui" rel="noopener noreferrer"&gt;star on GitHub&lt;/a&gt; or a &lt;a href="https://buymeacoffee.com/siddharthbhansali" rel="noopener noreferrer"&gt;coffee&lt;/a&gt; would mean a lot.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What neumorphic components would you want to see next? Drop a comment or open an issue on GitHub.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>neumorphism</category>
    </item>
  </channel>
</rss>
