<?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: Sven Jansen</title>
    <description>The latest articles on DEV Community by Sven Jansen (@sjacslab).</description>
    <link>https://dev.to/sjacslab</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4049361%2F1a61423e-e70d-4693-8178-cb9ab45d6323.png</url>
      <title>DEV Community: Sven Jansen</title>
      <link>https://dev.to/sjacslab</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sjacslab"/>
    <language>en</language>
    <item>
      <title>Continuing PrimeReact v10: Introducing Mantle UI</title>
      <dc:creator>Sven Jansen</dc:creator>
      <pubDate>Mon, 27 Jul 2026 11:21:37 +0000</pubDate>
      <link>https://dev.to/sjacslab/continuing-primereact-v10-introducing-mantle-ui-509l</link>
      <guid>https://dev.to/sjacslab/continuing-primereact-v10-introducing-mantle-ui-509l</guid>
      <description>&lt;p&gt;When the original PrimeReact repository was archived, many teams using PrimeReact v10 were left with an uncertain path forward.&lt;/p&gt;

&lt;p&gt;The existing MIT-licensed code remained available, but active open-source development had effectively stopped. Applications built on PrimeReact v10 still needed bug fixes, accessibility improvements, documentation updates, and compatibility with the evolving React ecosystem.&lt;/p&gt;

&lt;p&gt;That is why we started &lt;strong&gt;Mantle UI&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Mantle UI?
&lt;/h2&gt;

&lt;p&gt;Mantle UI is an independent, community-maintained continuation of the MIT-licensed PrimeReact v10 codebase.&lt;/p&gt;

&lt;p&gt;The goal is not to create an unrelated component library from scratch. Mantle UI exists to provide existing PrimeReact v10 users with a practical and sustainable open-source path forward.&lt;/p&gt;

&lt;p&gt;The project preserves the familiar APIs, components, theming concepts, and development model while continuing maintenance in the open.&lt;/p&gt;

&lt;p&gt;Mantle UI is not affiliated with PrimeTek, PrimeReact, or ngrok.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why continue PrimeReact v10?
&lt;/h2&gt;

&lt;p&gt;PrimeReact v10 is used in many existing applications. Replacing an entire UI component library is rarely a small task.&lt;/p&gt;

&lt;p&gt;Teams may depend on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;component APIs and behavior&lt;/li&gt;
&lt;li&gt;existing themes and styles&lt;/li&gt;
&lt;li&gt;accessibility behavior&lt;/li&gt;
&lt;li&gt;custom passthrough configuration&lt;/li&gt;
&lt;li&gt;application-specific wrappers&lt;/li&gt;
&lt;li&gt;years of accumulated implementation knowledge&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For these projects, migrating to a completely different library can be expensive and risky.&lt;/p&gt;

&lt;p&gt;Mantle UI aims to reduce that risk by continuing from the established PrimeReact v10 foundation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Available on npm
&lt;/h2&gt;

&lt;p&gt;Mantle UI is already published on npm as &lt;a href="https://www.npmjs.com/package/@mantle-ui/react" rel="noopener noreferrer"&gt;&lt;code&gt;@mantle-ui/react&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Install it with:&lt;br&gt;
&lt;/p&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; @mantle-ui/react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It is also available through other package managers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm add @mantle-ui/react
yarn add @mantle-ui/react
bun add @mantle-ui/react
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Components can be imported individually:&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;@mantle-ui/react/button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;Example&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;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Button&lt;/span&gt; &lt;span class="na"&gt;label&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;"Mantle UI"&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Migrating from PrimeReact
&lt;/h2&gt;

&lt;p&gt;Mantle UI includes a migration CLI that rewrites source imports from &lt;code&gt;primereact&lt;/code&gt; to &lt;code&gt;@mantle-ui/react&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;After installing Mantle UI, preview the migration first:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;exec &lt;/span&gt;mantleui migrate &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--dry-run&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Apply the migration with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm &lt;span class="nb"&gt;exec &lt;/span&gt;mantleui migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The CLI is also available with pnpm and Yarn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pnpm &lt;span class="nb"&gt;exec &lt;/span&gt;mantleui migrate
yarn mantleui migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It can also be run directly from the published package without installing it first:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx &lt;span class="nt"&gt;--package&lt;/span&gt; @mantle-ui/react mantleui migrate
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The migration updates source imports only. It does not modify &lt;code&gt;package.json&lt;/code&gt; or lockfiles.&lt;/p&gt;

&lt;p&gt;You should always review the generated changes and test your application before deploying them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What has been done so far?
&lt;/h2&gt;

&lt;p&gt;Mantle UI has already published multiple releases.&lt;/p&gt;

&lt;p&gt;Recent improvements include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;improved keyboard navigation in MultiSelect&lt;/li&gt;
&lt;li&gt;an accessible name for ListBox&lt;/li&gt;
&lt;li&gt;support for ReactNode tooltip content&lt;/li&gt;
&lt;li&gt;restored negative input support in InputNumber&lt;/li&gt;
&lt;li&gt;improved AutoComplete support inside IconField&lt;/li&gt;
&lt;li&gt;preserved Tailwind classes in passthrough configuration&lt;/li&gt;
&lt;li&gt;corrected Calendar navigation across overlay rows&lt;/li&gt;
&lt;li&gt;fixes for documentation examples and API documentation&lt;/li&gt;
&lt;li&gt;package version metadata for subpackages&lt;/li&gt;
&lt;li&gt;removal of remaining PrimeReact and PrimeTek branding&lt;/li&gt;
&lt;li&gt;automated npm publishing and release infrastructure&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Several of these changes resolve issues inherited from the PrimeReact v10 backlog.&lt;/p&gt;

&lt;p&gt;The project is therefore not only preserving the old codebase. It is actively fixing and improving it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Current priorities
&lt;/h2&gt;

&lt;p&gt;Our current focus includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;maintaining compatibility for existing PrimeReact v10 users&lt;/li&gt;
&lt;li&gt;reviewing and resolving inherited issues&lt;/li&gt;
&lt;li&gt;fixing long-standing bugs&lt;/li&gt;
&lt;li&gt;improving accessibility&lt;/li&gt;
&lt;li&gt;keeping the library compatible with the modern React ecosystem&lt;/li&gt;
&lt;li&gt;improving documentation and migration guidance&lt;/li&gt;
&lt;li&gt;building a sustainable contributor community&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Community-driven development
&lt;/h2&gt;

&lt;p&gt;Mantle UI is developed openly on GitHub.&lt;/p&gt;

&lt;p&gt;Users can report bugs, propose improvements, ask questions, and contribute changes. Technical decisions are made in the interest of the project and its community rather than being tied to the roadmap of a single company.&lt;/p&gt;

&lt;p&gt;Financial contributions do not provide control over the project roadmap, governance, licensing, or technical direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Funding and sustainability
&lt;/h2&gt;

&lt;p&gt;Mantle UI is available through Open Collective and is fiscally hosted by the Open Source Collective.&lt;/p&gt;

&lt;p&gt;Funding may support:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ongoing development and maintenance&lt;/li&gt;
&lt;li&gt;bug fixes&lt;/li&gt;
&lt;li&gt;accessibility improvements&lt;/li&gt;
&lt;li&gt;documentation&lt;/li&gt;
&lt;li&gt;infrastructure and hosting&lt;/li&gt;
&lt;li&gt;contributor work&lt;/li&gt;
&lt;li&gt;community initiatives&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Project contributions and expenses are managed transparently through Open Collective.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://mantle-ui.github.io/mantle-ui/" rel="noopener noreferrer"&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Mantle-UI/mantle-ui" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.npmjs.com/package/@mantle-ui/react" rel="noopener noreferrer"&gt;npm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Mantle-UI/mantle-ui/releases" rel="noopener noreferrer"&gt;Releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Mantle-UI/mantle-ui/discussions" rel="noopener noreferrer"&gt;GitHub Discussions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.gg/BGs6EkpnDv" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://opencollective.com/mantle-ui" rel="noopener noreferrer"&gt;Open Collective&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  We would value your feedback
&lt;/h2&gt;

&lt;p&gt;We are especially interested in hearing from teams that still use PrimeReact v10.&lt;/p&gt;

&lt;p&gt;Useful feedback includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;whether the migration CLI works correctly in your project&lt;/li&gt;
&lt;li&gt;compatibility issues you encounter&lt;/li&gt;
&lt;li&gt;inherited bugs that are still relevant&lt;/li&gt;
&lt;li&gt;accessibility problems&lt;/li&gt;
&lt;li&gt;missing documentation&lt;/li&gt;
&lt;li&gt;components or workflows that need particular attention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can try the migration without changing any files:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx &lt;span class="nt"&gt;--package&lt;/span&gt; @mantle-ui/react mantleui migrate &lt;span class="nt"&gt;--dry-run&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mantle UI is still at the beginning of its journey, but the foundation is available today, releases are being published, and development is continuing in the open.&lt;/p&gt;

</description>
      <category>react</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>news</category>
    </item>
  </channel>
</rss>
