<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by SVAR UI Components on Medium]]></title>
        <description><![CDATA[Stories by SVAR UI Components on Medium]]></description>
        <link>https://medium.com/@SvarWidgets?source=rss-9bf70ffd29e9------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*wjpD6FbsP4dpqrnR4Jg9RQ.png</url>
            <title>Stories by SVAR UI Components on Medium</title>
            <link>https://medium.com/@SvarWidgets?source=rss-9bf70ffd29e9------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 19 Jun 2026 09:24:22 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@SvarWidgets/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[SVAR Gantt 2.7: Now with Resource Planning & More Flexible UI]]></title>
            <link>https://medium.com/@SvarWidgets/svar-gantt-2-7-now-with-resource-planning-more-flexible-ui-bd46fa5179f7?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/bd46fa5179f7</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[vuejs]]></category>
            <category><![CDATA[gantt-chart]]></category>
            <category><![CDATA[svelte]]></category>
            <category><![CDATA[web-development]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Mon, 15 Jun 2026 16:36:04 GMT</pubDate>
            <atom:updated>2026-06-15T16:36:04.115Z</atom:updated>
            <content:encoded><![CDATA[<h3>A Step Closer to Enterprise-Grade Project Scheduling</h3><p>SVAR Gantt 2.7 brings resource planning to the PRO edition, making it easier to assign work, balance workloads, and manage project capacity directly inside the Gantt chart. For teams building project scheduling tools in React, Svelte, or Vue, this release adds more advanced flexibility and performance right out of the box.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*IEzm_P807I6GUeC6EPlyNA.png" /><figcaption>SVAR Gantt with Resource Planning</figcaption></figure><p>The open-source version of SVAR Gantt has also been updated with virtualized Gantt scales, a smarter task editor, and improved tooltips. Together, these updates give teams the tools they need to build modern project scheduling interfaces with better performance and more control.</p><p>Learn more about the framework-native SVAR Gantt libraries:</p><ul><li><a href="https://svar.dev/react/gantt/">SVAR React Gantt</a></li><li><a href="https://svar.dev/svelte/gantt/">SVAR Svelte Gantt</a></li><li><a href="https://svar.dev/vue/gantt/">SVAR Vue Gantt</a></li></ul><h3>Open-Source Gantt Chart with Better Performance</h3><p>All three framework editions — <a href="https://github.com/svar-widgets/gantt">Svelte</a>, <a href="https://github.com/svar-widgets/react-gantt">React</a>, and <a href="https://github.com/svar-widgets/vue-gantt">Vue</a> — have been updated on <strong>GitHub</strong>. If you find the Gantt chart component useful, give a star to support the project 🌟</p><p>You can install the latest free versions of SVAR Gantt from npm:</p><pre>npm install @svar-ui/svelte-gantt<br>npm install @svar-ui/react-gantt<br>npm install @svar-ui/vue-gantt</pre><p>This is what we’ve added to the free Gantt chart component:</p><ul><li><strong>Virtual Scale Rendering </strong>— now only visible time-unit cells are rendered on the scale. This means that users can create long and detailed timelines without running into performance issues. For example, you can build a multi-year chart with “hour” as the lowest unit and scroll or zoom it smoothly with no lag.</li><li><strong>Updated Tooltips — </strong>tooltips now support delay, position, arrow, touch behavior, and custom content. You can attach tooltips for task bars, rollups, links and resource-load cells, showing detailed, context-specific information directly on the chart.</li><li><strong>Import from Excel / CSV</strong> — a new ExcelImport widget for Excel / CSV import converts spreadsheet data into Gantt-ready JSON. The widget opens a wizard where users upload a file and map its columns to task or link fields. It supports auto-detection, data validation, optional ID generation, and localization, making it easy to bring existing project data into Gantt.</li></ul><h3>SVAR Gantt PRO for Resource Planning</h3><p>This release brings <strong>full resource-management capabilities</strong> to SVAR Gantt PRO. It introduces a set of major enhancements that let teams assign tasks and balance workloads directly inside the component:</p><ul><li><strong>Ability to assign resources to tasks </strong>— you can now manage resources and assignments collections to show who is responsible for each task. Resources may be flat or hierarchical, and assignments link each resource to a task with optional allocation units.</li><li><strong>Auto calculate and visualize resource load</strong> — You can now visualize resource load in the Gantt chart to see how each team member is allocated across the project timeline. Resource load can be displayed in hours (default) or as a percentage, and you can customize the output using a template function.</li><li><strong>Individual calendars for tasks and resources — </strong>assign task calendars through the <em>calendars</em> prop. A task’s calendar controls its working-time rules and how the task is scheduled and displayed. Also, each resource can have its own work-time calendar.</li><li><strong>Task grouping — </strong>Tasks can now be grouped by any field or by assigned resource, allowing users to explore the project by priority, status, or team. Grouping supports optional task and resource hierarchies and provides flexible handling for ungrouped tasks.</li><li><strong>Automatic WBS codes — </strong>SVAR Gantt PRO now supports <a href="https://docs-next.svar.dev/svelte/gantt/guides/configuration/wbs/">automatic WBS</a> (Work Breakdown Structure) numbering, assigning each task a hierarchical code based on its position in the task tree (e.g., 1, 1.2, 1.2.1). WBS codes update automatically whenever tasks are added, moved, indented, or reordered.</li><li><strong>Improved Editor UI — </strong>the task editor has been reorganized into focused tabs — General, Links, Resources, and Segments — so each aspect of a task can be edited without distraction. We also improved editing of split tasks.</li><li><strong>Improvements in Gantt scheduling engine — </strong>We have enhanced Gantt auto scheduling engine to work with summary tasks, which results in better performance and atomic scheduling operations that can be reverted with one step.</li></ul><h3>Summing Up</h3><p>SVAR Gantt 2.7 makes it easier to build modern project planning and scheduling tools with better performance, resource management, and more flexible task organization. With support for resource allocation, resource load visualization, individual calendars, task grouping, and automatic WBS codes, the PRO edition gives you the building blocks for project and task scheduling apps.</p><p>To learn more about new features:</p><ul><li><a href="https://svar.dev/demos/">See the demos</a></li><li><a href="https://docs.svar.dev/">Check the docs</a></li><li>Fork SVAR Gantt <a href="https://github.com/svar-widgets/">on GitHub</a></li></ul><p>Start with the free open-source edition and upgrade to PRO when your project needs advanced resource planning and scheduling features.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=bd46fa5179f7" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SVAR Calendar: Add a Clean Event Calendar UI into React, Svelte & Vue Apps]]></title>
            <link>https://javascript.plainenglish.io/svar-calendar-add-a-clean-event-calendar-ui-into-react-svelte-vue-apps-e12a7a57c8cd?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/e12a7a57c8cd</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[calendar]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[vuejs]]></category>
            <category><![CDATA[svelte]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Thu, 11 Jun 2026 17:26:43 GMT</pubDate>
            <atom:updated>2026-06-11T17:26:43.965Z</atom:updated>
            <content:encoded><![CDATA[<p>Managing a team’s schedule becomes challenging surprisingly fast. Updates get missed, information spreads across different files, and meetings start overlapping before anyone notices. That’s usually the moment it becomes clear that a reliable calendar isn’t optional — it’s what keeps the entire workflow steady and predictable.</p><p>But what happens when we actually start looking for a scheduling tool that fits our project or internal system?</p><p>Pretty quickly, the real challenge shows up: most ready-to-use calendar libraries sit at opposite ends of the spectrum. On one side, you have lightweight tools that cover the basics but stop there. On the other, enterprise-grade solutions that are packed with advanced features — along with the complexity, weight, and higher cost that follows.</p><h3>Filling the Space Between “Too Basic” and “Too Complex”</h3><p><strong>SVAR Calendar</strong> was created to bridge this gap. It’s a free, open-source event calendar for <a href="https://svar.dev/svelte/calendar/">Svelte</a>, <a href="https://svar.dev/react/calendar/">React</a>, and <a href="https://svar.dev/vue/calendar/">Vue</a>, built on a fast MIT-licensed core that gives you the flexibility to add Day, Week or Month views, show group of calendars, integrate drag-and-drop event editing, and manage data handling around your workflow.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*4yWvTj2tgPhGCfImMZDd2g.png" /><figcaption>SVAR Calendar — Week &amp; Year Views</figcaption></figure><p>Need advanced functionality for a more sophisticated scheduling system? The PRO edition offers additional views (Year, Agenda, Timeline, Resources) and recurring events support on top of the free core.</p><p>👉 <a href="https://svar.dev/demos/calendar/">Try the live demo</a> to see check calendar’s look and feel.</p><p>🛠️ Find the free version of all three SVAR calendar components <a href="https://github.com/svar-widgets/">on GitHub</a>.</p><h3>Truly Native by Design — Built for React, Svelte &amp; Vue</h3><p>One of the strengths of SVAR Calendar is that it isn’t just a wrapper around popular frontend frameworks — it’s built natively for React, Svelte, and Vue, with full TypeScript support across all three. As a result, the component integrates cleanly into your app without the extra adjustments that wrapper-based solutions usually require.</p><p>You can explore each version here:</p><ul><li><a href="https://svar.dev/react/calendar/">React Calendar</a></li><li><a href="https://svar.dev/svelte/calendar/">Svelte Calendar</a></li><li><a href="https://svar.dev/vue/calendar/">Vue Calendar</a></li></ul><p>You can install SVAR Calendar by adding the package for your framework:</p><pre>npm install @svar-ui/react-calendar<br>npm install @svar-ui/svelte-calendar<br>npm install @svar-ui/vue-calendar</pre><p>Now, let’s go a bit further and take a quick look at what SVAR Calendar brings to your workflow.</p><h3>Free Version for Solid Event Scheduling</h3><p>The open-source edition includes everything needed for a user-friendly scheduling interfaces found in iOS or Google calendars.</p><p><strong>Day, Week, and Month views</strong> — three built-in layouts for daily, weekly, and monthly scheduling.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*I2IHcsGi3D-th3TmMI6IAg.png" /><figcaption>SVAR Calendar — Day, Week, and Month Views</figcaption></figure><p><strong>Drag-and-drop interactions</strong> — move, resize, and create events with a natural drag-to-create gesture. Just like the interactions you’re used to in iOS or Google Calendar.</p><p><strong>Event editing tools</strong> — use a built-in editor (sidebar or modal) plus a customizable right-click context menu.</p><p><strong>Calendar groups </strong>— organize events by category (Work, Personal, Holidays, etc.) and toggle calendars on or off with simple sidebar checkboxes.</p><p><strong>Filtering </strong>— filter events by calendar group, search text, or combine multiple conditions using the SVAR Filter engine.</p><p><strong>iCal import and export</strong> — load <strong>.ics</strong> files or export events for syncing and sharing.</p><p><strong>Theming and localization</strong> — customize styling and adapt labels and date formats to any language.</p><p><strong>Backend integration</strong> — connect to any REST API with automatic data loading and CRUD syncing.</p><h3>A Quick Svelte Example</h3><p>If you want to try the component immediately, just drop this snippet into your Svelte project. You’ll get a working weekly planner with color-coded groups, sample events, a sidebar for switching calendars, and a built-in editor for quick updates.</p><pre>&lt;script&gt;<br>import { Calendar, Editor, CalendarPanel } from &quot;@svar-ui/svelte-calendar&quot;;<br>let api = $state();<br>const calendars = [<br>{ id: &quot;work&quot;, label: &quot;Work&quot; },<br>{ id: &quot;personal&quot;, label: &quot;Personal&quot; },<br>];<br>const events = [<br>{<br>id: 1,<br>start: new Date(2026, 4, 4, 9, 0),<br>end: new Date(2026, 4, 4, 9, 30),<br>text: &quot;Daily standup&quot;,<br>calendarId: &quot;work&quot;,<br>},<br>{<br>id: 2,<br>start: new Date(2026, 4, 4, 13, 0),<br>end: new Date(2026, 4, 4, 14, 0),<br>text: &quot;Lunch with team&quot;,<br>calendarId: &quot;personal&quot;,<br>},<br>];<br>&lt;/script&gt;<br>&lt;Calendar bind:this={api} {events} view=&quot;week&quot;&gt;<br>&lt;CalendarPanel {calendars} accessor=&quot;calendarId&quot; /&gt;<br>&lt;/Calendar&gt;<br>&lt;Editor {api} /&gt;</pre><p>And if you’re using React or Vue? The structure is almost identical — same API, same logic, just written with framework-native syntax.</p><h3>PRO Edition: Additional Views and Recurring Events</h3><p>For teams that need more than the basics, the PRO edition adds several powerful views and features:</p><ul><li><strong>Year View </strong>— see all twelve months at once in a 3×4 grid with marked busy days, a highlighted today, and event previews on hover.</li><li><strong>Agenda View </strong>— browse a chronological list of upcoming events grouped by day, perfect for quick scanning and mobile-friendly layouts.</li><li><strong>Resources View </strong>— view a single day split into columns for rooms, people, or equipment to instantly see who or what is booked.</li><li><strong>Timeline View </strong>— explore a horizontal, single-day layout with each resource as a row and events shown as time-length bars for easy comparison.</li><li><strong>Recurring Events </strong>— create repeating schedules with full control over series updates, single-occurrence edits, and forward-only changes.</li></ul><p>To explore what the PRO edition can do, you can start a 30-day trial and browse the pricing for your preferred framework: <a href="https://svar.dev/react/calendar/pricing/">React</a> •<a href="https://svar.dev/react/calendar/pricing/"> </a><a href="https://svar.dev/svelte/calendar/pricing/">Svelte</a> • <a href="https://svar.dev/vue/calendar/pricing/">Vue</a></p><h3><strong>Getting started with SVAR Calendar</strong></h3><p>SVAR Calendar is ready to plug into your project right now. The open-source core is live, the demos are up, and the full documentation for Svelte, React, and Vue is already in place — no waiting, just start building. If you want to dive in, all the essentials are only a click away:</p><ul><li><strong>Quick Start </strong>guides for <a href="https://docs.svar.dev/react/calendar/getting-started/quick-start/">React</a> • <a href="https://docs.svar.dev/svelte/calendar/getting-started/quick-start/">Svelte</a> • <a href="https://docs.svar.dev/vue/calendar/getting-started/quick-start/">Vue</a></li><li><strong>Live demos</strong> for <a href="https://docs.svar.dev/react/calendar/samples/#/base/willow">React</a> • <a href="https://docs.svar.dev/svelte/calendar/samples/#/base/willow">Svelte</a> • <a href="https://docs.svar.dev/vue/calendar/samples/#/base/willow">Vue</a></li><li><a href="https://github.com/svar-widgets/"><strong>GitHub</strong></a><strong> repositories</strong> with the full MIT-licensed source. If SVAR Calendar saves you time, a GitHub star helps other developers find it ⭐</li></ul><p>Whether you’re adding a lightweight weekly planner or assembling a full resource-booking system, the free edition takes you impressively far — and the PRO edition picks up exactly where you need more power.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e12a7a57c8cd" width="1" height="1" alt=""><hr><p><a href="https://javascript.plainenglish.io/svar-calendar-add-a-clean-event-calendar-ui-into-react-svelte-vue-apps-e12a7a57c8cd">SVAR Calendar: Add a Clean Event Calendar UI into React, Svelte &amp; Vue Apps</a> was originally published in <a href="https://javascript.plainenglish.io">JavaScript in Plain English</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[A New Free Vue Data Grid: Fast, Flexible, Feature-Rich]]></title>
            <link>https://medium.com/@SvarWidgets/a-new-free-vue-data-grid-fast-flexible-feature-rich-7b1b981fca68?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/7b1b981fca68</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[datatables]]></category>
            <category><![CDATA[datagrid]]></category>
            <category><![CDATA[vue]]></category>
            <category><![CDATA[vuejs]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Tue, 28 Apr 2026 15:15:22 GMT</pubDate>
            <atom:updated>2026-04-28T15:19:52.995Z</atom:updated>
            <content:encoded><![CDATA[<p>If you’ve worked with data grids in Vue, you’ve probably hit the same wall at some point. The grid works fine for the demo, then you add real data, real editing requirements, and real users — and suddenly you’re fighting the component instead of building your app.</p><p>Or you find a capable pre-made grid component, only to discover it’s a JavaScript library wrapped in a Vue adapter, and customization means digging into JS code instead of working with the familiar Vue API.</p><p>That’s why we built <a href="https://svar.dev/vue/datagrid/">SVAR Vue DataGrid</a>. The component is written entirely in Vue 3, MIT-licensed, and optimized for data-heavy scenarios, with fast loading and rendering, data editing, sorting, and filtering features.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Aon_F7-3wqN7z5nTg8Amww.png" /></figure><p>Here’s a quick overview of what our Vue data grid component is capable of:</p><ul><li><strong>Vue-native architecture</strong> with a logical, developer-friendly API</li><li><strong>High performance</strong> with large datasets (virtualization for rows and columns, dynamic loading)</li><li><strong>Accessibility</strong> with WAI-ARIA compliance and full keyboard navigation</li><li><strong>Sorting, filtering, and in-cell editing</strong> (built-in and custom editors)</li><li><strong>Flexible configuration </strong>of columns and rows</li><li><strong>Light and dark themes </strong>easily customizable with CSS</li><li><strong>Responsive mode</strong> adjustable for different screen sizes</li><li><strong>Export to CSV</strong> and print support</li></ul><h3>Getting started</h3><p>Install SVAR Vue DataGrid via npm:</p><pre>npm install @svar-ui/vue-grid</pre><p>A basic table with data and columns is just a few lines:</p><pre>&lt;script setup&gt;<br>import { Grid, Willow } from &quot;@svar-ui/vue-grid&quot;;<br><br>const data = [<br>  { id: 1, city: &quot;Amieshire&quot;, firstName: &quot;Ernest&quot;, lastName: &quot;Schuppe&quot;, email: &quot;Leora13@yahoo.com&quot; },<br>  { id: 2, city: &quot;Gust&quot;, firstName: &quot;Janis&quot;, lastName: &quot;Vandervort&quot;, email: &quot;Mose_Gerhold51@yahoo.com&quot; },<br>  ];<br>const columns = [<br>  { id: &quot;id&quot;, width: 50 },<br>  { id: &quot;firstName&quot;, header: &quot;First Name&quot;, width: 150 },<br>  { id: &quot;lastName&quot;, header: &quot;Last Name&quot;, width: 150 },<br>  { id: &quot;city&quot;, header: &quot;City&quot;, width: 100 },<br>  { id: &quot;email&quot;, header: &quot;Email&quot; },<br>];<br>&lt;/script&gt;<br><br>&lt;template&gt;<br>  &lt;Willow&gt;<br>    &lt;Grid :data=&quot;data&quot; :columns=&quot;columns&quot; /&gt;<br>  &lt;/Willow&gt;<br>&lt;/template&gt;</pre><p>Wrap the grid in <strong><em>&lt;Willow&gt;</em></strong> (or <strong><em>&lt;WillowDark&gt;</em></strong>) to apply a light or dark theme. That’s all it takes to get a working, styled table on the page.</p><h3>What it handles out of the box</h3><p>The honest reason most teams end up with complex custom grid code is that they started with a library that covered 80% of their needs — and spent months filling in the other 20%. SVAR Vue DataGrid tries to ship that other 20% by default.</p><p><strong>Sorting</strong> works across multiple columns with customizable sort logic.</p><p><strong>Filtering</strong> can be added as inline header filters for quick access, and for more advanced scenarios the data grid integrates with <a href="https://svar.dev/vue/filter/">SVAR Vue Filter.</a> The filter component adds an advanced visual query builder with AND/OR logic, syntax-based filtering, and optional natural language search.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ys1M9l40G1nqxRwoDfNvYQ.png" /><figcaption>SVAR Vue DataGrid with advanced filtering</figcaption></figure><p><strong>Data editing</strong> is supported by built-in cell editors (text, combo, datepicker, richselect), custom Vue components as editors, and external form integration via <a href="https://svar.dev/vue/datagrid/">SVAR Vue Editor</a>. There’s also an undo/redo feature, which makes editing large datasets more convenient.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UeLLLWKicZ0baK285owsvA.png" /><figcaption>SVAR Vue DataGrid with in-cell editing</figcaption></figure><p><strong>Layout-wise</strong>, you get column grouping, header spanning, pinned columns, row drag-and-drop reordering, and visibility control. Context menus, cell tooltips, and a toolbar round out the everyday interactions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*-PIa5iIg0pJf54JqqD-ujw.png" /><figcaption>SVAR Vue DataGrid with collapsible columns</figcaption></figure><p><strong>Features that grids typically lock behind a paywall:</strong> tree data, lazy loading, advanced filtering, context menus, rich select for in-cell editing are included here under MIT.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SB44lVQMTAMUyka5A8W2vA.png" /><figcaption>SVAR Vue DataGrid with context menu</figcaption></figure><h3>Working with large datasets</h3><p>Virtual scrolling handles both rows and columns, so rendering stays efficient even with thousands of rows. Dynamic loading lets you fetch data on scroll rather than loading everything upfront — useful when you’re working with a large backend dataset and don’t want to wait for the full payload on page load.</p><p>Here is how you can load data dynamically in batches of 100 rows:</p><pre>&lt;script setup&gt;<br>import { Grid } from &quot;@svar-ui/vue-grid&quot;;<br>import { ref } from &quot;vue&quot;;<br>import { getData } from &quot;./common/data&quot;;<br><br>const { allData, columns } = getData();<br><br>const rowCount = ref(allData.length);<br>const data = ref([]);<br><br>function dataProvider(ev) {<br>  const { row } = ev;<br>  if (row) {<br>    data.value = allData.slice(row.start, row.end);<br>  }<br>}<br>&lt;/script&gt;<br><br>&lt;template&gt;<br>  &lt;Grid<br>    :data=&quot;data&quot;<br>    :columns=&quot;columns&quot;<br>    :dynamic=&quot;{ rowCount }&quot;<br>    :@request-data=&quot;dataProvider&quot;<br>  /&gt;<br>&lt;/template&gt;</pre><p>For easy backend integration, SVAR Vue DataGrid offers <a href="https://docs.svar.dev/vue/grid/guides/working_with_server/">RestDataProvider</a>, a special helper that handles CRUD operations and updates on the server side for these operations: add/update/delete row and cell update.</p><h3>Why Vue-native matters</h3><p>SVAR Vue DataGrid follows Vue’s reactivity model. You can drop in your own Vue components as cell editors, use standard Vue patterns for event handling, and customize the grid any way you like.</p><p>Each data table is different and SVAR DataGrid gives you full control over the look-and-feel of the table, as well as its layout and features.</p><h3>Try SVAR Vue DataGrid</h3><p>If you are looking for a customizable, free, high-performance data grid for your Vue apps, just give it a try:</p><ul><li><a href="https://github.com/svar-widgets/vue-grid">GitHub</a> — we’d really appreciate your stars if you like the component ⭐</li><li><a href="https://docs.svar.dev/vue/grid/samples">Live demos</a></li><li><a href="https://docs.svar.dev/vue/grid/getting_started">Getting started guide</a></li></ul><p>If you’re building data-driven interfaces in Vue, SVAR Vue DataGrid can save you hours of work. Any feedback or feature requests are welcome on <a href="https://forum.svar.dev/">our forum</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7b1b981fca68" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SVAR Vue — New UI Component Library for Interactive Vue Apps]]></title>
            <link>https://medium.com/@SvarWidgets/svar-vue-new-ui-component-library-for-interactive-vue-apps-c5a4a97e959b?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/c5a4a97e959b</guid>
            <category><![CDATA[ui]]></category>
            <category><![CDATA[vue]]></category>
            <category><![CDATA[frontend]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[vuejs]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Tue, 21 Apr 2026 07:07:36 GMT</pubDate>
            <atom:updated>2026-04-21T07:07:36.595Z</atom:updated>
            <content:encoded><![CDATA[<h3><strong>SVAR Vue — New UI Component Library for Interactive Vue Apps</strong></h3><p>If you’re building web apps with <strong>Vue.js</strong>, we have a new open-source library of Vue 3 UI components waiting for you to try! <a href="https://svar.dev/vue/">SVAR Vue</a> offers a set of pre-built, TypeScript-ready, beautifully styled components for most common use cases: form controls, navigation elements, modals, edit forms, and filtering UI.</p><h3>What is SVAR Vue?</h3><p>SVAR Vue is part of <a href="https://svar.dev/">SVAR UI</a>, a family of open-source component libraries built natively for modern JavaScript frameworks: Svelte, React and now Vue. The key idea is simple: components are written <strong>specifically for each framework</strong>, without wrappers or adapters. You work with native Vue components and patterns.</p><p>Today we’re releasing three packages for Vue 3:</p><ul><li><strong>SVAR Vue Core</strong> — a set of 30+ UI components for data-driven interfaces</li><li><strong>SVAR Vue Editor</strong> — customizable edit forms for any structured data</li><li><strong>SVAR Vue Filter</strong> — a complete filtering toolkit, from compact bars to query builders</li></ul><p>All three are free to use under the MIT license and available on <a href="https://github.com/svar-widgets">SVAR GitHub</a> 🛠️</p><h3>30+ Core Components</h3><p><a href="https://svar.dev/vue/core/">SVAR Vue Core library</a> is the foundation. It gives you the everyday building blocks — buttons, checkboxes, radio inputs, select, datepicker, tabs, modals, notifications, sidebar panel, and more. All components are designed for data-intensive apps with virtualization and dynamic loading built in.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*OMXZD6mQnQLnZAB-9gJDsw.png" /></figure><p>Themes (light and dark) are included out of the box and fully customizable via CSS variables. Menu, Toolbar, Comments, and Tasklist are available as separate add-ons, so your bundle only includes what you actually use.</p><p>This is how you install SVAR Vue Core library and Menu component via npm:</p><pre>npm install @svar-ui/vue-core<br>npm install @svar-ui/vue-menu</pre><p>The example code of adding a simple button:</p><pre>&lt;script setup&gt;<br>import { Button, Willow } from &quot;@svar-ui/vue-core&quot;;<br>&lt;/script&gt;<br>&lt;template&gt;<br>&lt;Willow&gt;<br>&lt;!-- Place your application code here --&gt;<br>&lt;Button&gt;Click Me&lt;/Button&gt;<br>&lt;/Willow&gt;<br>&lt;/template&gt;</pre><p>Wrap your app in <strong><em>&lt;Willow&gt;</em></strong> (or <strong><em>&lt;WillowDark&gt;</em></strong>) to apply the theme globally. Find the full component list in the <a href="https://docs.svar.dev/vue/core/category/widgets">Vue Core docs</a>.</p><h3>Configurable Edit Form</h3><p><a href="https://svar.dev/vue/editor/">SVAR Vue Editor component</a> solves a specific but very common problem: you have structured data — a user profile, a product record, a table row, an info card — and you need an edit form for it. Building that from scratch every time is tedious.</p><p>The Editor gives you a configurable form component you can attach to any data structure and display as a popup, sidebar, or inline form.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Uv4WbRxUhlRYajFRvBcI6w.png" /></figure><p>It integrates natively with all SVAR Vue Core controls, supports one and two-column layouts, collapsible and accordion sections, custom validation, and both auto-save and on-action save modes.</p><p>To install, use:</p><pre>npm install @svar-ui/vue-editor</pre><p>Then you can add an edit form with preloaded data like this:</p><pre>&lt;script setup&gt;<br>import { Editor, Willow } from &quot;@svar-ui/vue-editor&quot;;<br>const items = [<br>{ comp: &quot;text&quot;, key: &quot;name&quot;, label: &quot;Name&quot; },<br>{ comp: &quot;textarea&quot;, key: &quot;descr&quot;, label: &quot;Description&quot; },<br>{ comp: &quot;checkbox&quot;, key: &quot;admin&quot;, label: &quot;Is Admin&quot; }<br>];<br>const values = {<br>name: &quot;John Doe&quot;,<br>descr: &quot;Lorem ipsum dolor sit amet&quot;,<br>admin: true<br>};<br>&lt;/script&gt;<br>&lt;template&gt;<br>&lt;Willow&gt;<br>&lt;Editor :items=&quot;items&quot; :values=&quot;values&quot; /&gt;<br>&lt;/Willow&gt;<br>&lt;/template&gt;</pre><p>Each item in the <strong><em>items</em></strong> array defines a field type (<strong><em>comp</em></strong>), a data key, and a label. The <strong><em>values</em></strong> object preloads the form — useful when editing an existing record. Add <strong><em>:readonly=”true” </em></strong>to render the same form in read-only mode.</p><h3>Flexible Filter Library</h3><p><a href="https://next.svar.dev/vue/filter/">SVAR Vue Filter</a> is a library of four components, each aimed for a different level of filtering complexity:</p><ul><li><strong>FilterBar</strong> — compact inline search</li><li><strong>FilterEditor</strong> — single-field rule editor</li><li><strong>FilterBuilder</strong> — full visual query builder with nested AND/OR logic, ideal for admin dashboards</li><li><strong>FilterQuery</strong> — a YouTrack-style input with autocomplete, syntax highlighting, and an optional natural language mode</li></ul><p>With the FilterBuilder, you can create an intuitive query builder interface with nested fields, boolean logic, and give your users a tool to configure complex filters with ease.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KZGsgv-TLneVA-Yhkb8TQQ.png" /></figure><p>FilterQuery is also worth calling out: its natural language mode connects to an AI/NLP endpoint and converts plain-text queries like <em>“tasks created last week assigned to me”</em> into structured filter rules. Users can see these rules and edit them to find data they need.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cZ_A8JRwpq619HsZ9b10sA.png" /></figure><p>The Filter library is installed like this:</p><pre>npm install @svar-ui/vue-filter</pre><p>Find the full API and examples in the <a href="https://docs.svar.dev/vue/filter/filter-main-overview">Filter docs</a>.</p><h3>What’s Coming Next</h3><p>Core, Editor, and Filter are the foundation for the broader <a href="https://next.svar.dev/vue/">SVAR Vue component library</a>. We plan to release next:</p><ul><li><strong>Vue DataGrid</strong> — high-performance data grid with sorting, filtering, and in-cell editing</li><li><strong>Vue Gantt</strong> <strong>Chart</strong>— interactive timeline and project management</li><li><strong>Vue File Manager</strong> — file browsing and management UI</li></ul><p>We’re glad to finally be in the Vue ecosystem. Try the packages, <a href="https://docs.svar.dev/">check the docs</a>, <a href="https://svar.dev/demos/">see the demos</a>, and see how SVAR Vue library fits your workflow!</p><p>The idea behind SVAR UI has always been simple: the best component library is the one that lets you ship using the code you already know.</p><p>Happy coding!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c5a4a97e959b" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SVAR React Updates: AI-Powered Filtering Meets Data Grid & Gantt Chart]]></title>
            <link>https://medium.com/@SvarWidgets/svar-react-updates-ai-powered-filtering-meets-data-grid-gantt-chart-d9e23c73e016?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/d9e23c73e016</guid>
            <category><![CDATA[reactjs]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[frontend]]></category>
            <category><![CDATA[ai]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Thu, 02 Apr 2026 15:53:09 GMT</pubDate>
            <atom:updated>2026-04-02T15:53:09.605Z</atom:updated>
            <content:encoded><![CDATA[<p>If you’re building data-intensive React applications, you are familiar with these pain points: clunky filter interfaces, limited in-cell editing, performance hits with large datasets. The latest update of open-source <a href="https://svar.dev/react/">SVAR React component library</a> tackles these head-on with <strong>FilterQuery</strong> (AI-powered natural language filtering), smarter DataGrid editing, virtualized dropdowns, and enhanced Gantt chart.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZdKAV9iMOMKGjidJgFCgQg.png" /></figure><p>Here’s what’s new:</p><h3>Filter 2.5 with Search Bar That Speaks Users’ Language</h3><p>The standout feature of this release is the new <strong>FilterQuery</strong> component of <a href="https://svar.dev/react/filter/">SVAR React Filter</a> library<strong>. </strong>It is a YouTrack-style search component that processes three types of queries:</p><ul><li><strong>Structured syntax</strong>: status:open assignee:Sarah priority:&gt;3</li><li><strong>Natural language</strong>: “show me Sarah’s open high-priority items”</li><li><strong>Mixed mode</strong>: combine both in one input</li></ul><p>Instead of forcing users through nested dropdown menus, FilterQuery provides a single text input that intelligently interprets what they’re looking for. It converts queries into parsed filter configurations, supports keyboard operations, syntax highlighting, and autocomplete.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*J9aQGSBdVCx1Q0-pcNzJtQ.png" /><figcaption>SVAR React Filter — Natural Language Mode</figcaption></figure><p>👉 <a href="https://docs.svar.dev/react/filter/samples/#/filter-query-query/willow">Check out the demos</a> to see how <strong>FilterQuery</strong> works.</p><h4>Why FilterQuery Matters</h4><ul><li><strong>Single input field, unlimited filtering power</strong>: structured, conversational, or both</li><li><strong>Full visibility</strong>: every filter renders as human-readable query syntax</li><li><strong>Inline editing</strong>: users can modify queries as text without rebuilding from scratch</li><li><strong>No backend required</strong>: structured and mixed modes can operate entirely client-side</li><li><strong>LLM-agnostic</strong>: works with OpenAI, Anthropic, or your custom endpoint</li><li><strong>Universal use</strong>: use it with DataGrid, Gantt, or any React app that needs filtering</li></ul><h4><strong>Getting Started</strong></h4><p>SVAR React Filter is available on <a href="https://github.com/svar-widgets/react-filter">GitHub</a> and can be installed via npm.</p><pre>npm install @svar-ui/react-filter</pre><h3>DataGrid 2.6: Custom Editors &amp; Natural Language Filtering</h3><p>SVAR React DataGrid v2.6 now supports natural language filtering (via <strong>FilterQuery</strong> integration) and gives you complete control over custom in-cell editors.</p><h4>FilterQuery Integration</h4><p>DataGrid now works seamlessly with the new FilterQuery component. Users can filter large datasets using natural language, switch to structured queries when precision matters, or combine both approaches in a single search. 👉 <a href="https://docs.svar.dev/react/grid/samples/#/filterquery/willow">See the demo</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_9KhbxjdgEyo5TJIqEiujw.png" /><figcaption>SVAR React DataGrid with FilterQuery</figcaption></figure><h4>New Multiselect In-Cell Editor</h4><p>A built-in multiselect editor has been added to render a dropdown with checkboxes. Users select multiple options, and the data grid displays them as a comma-separated list by default.</p><h4>Fully Custom In-Cell Editors</h4><p><a href="https://svar.dev/react/datagrid/">SVAR React DataGrid</a> v2.6 introduces registerInlineEditor() function for building completely custom editors. Register any React component as an editor, reference it by type in your column configuration, and the grid handles the rest.</p><h4><strong>Getting Started</strong></h4><p>SVAR React DataGrid is available on <a href="https://github.com/svar-widgets/react-grid">GitHub</a> and can be installed via npm.</p><pre>npm install @svar-ui/react-grid</pre><h3>Gantt 2.6: Project Management That Scales</h3><p><a href="https://svar.dev/react/gantt/">SVAR React Gantt</a> v2.6 introduces powerful task filtering, improved scheduling logic, and enhanced UX.</p><h4>Task Filtering: Multiple Integration Options</h4><p>Version 2.6 introduces the filter-tasks action, a new API for filtering tasks in your Gantt chart. This opens up multiple integration options, from simple inline filters to AI-powered natural language queries.</p><p>With this API, you can now integrate filtering in several ways:</p><ul><li><strong>Inline column filters: </strong>just add filters in grid’s columns for simple search.</li><li><strong>External filter controls: </strong>build your own search boxes, dropdowns, or completely custom filter UI.</li><li><strong>Advanced Query Builder: </strong>integrate with the FilterBuilder component from SVAR React Filter for multi-condition queries with AND/OR logic.</li><li><strong>Structured Syntax and Natural Language: </strong>add<strong> </strong>AI-powered natural language search or filter input with structured quieries.</li></ul><h4><strong>Rollups: Cleaner Project Visualization</strong></h4><p>Rollups (PRO feature) simplify complex project visualization by rolling up individual tasks into their parent summary tasks. Subtasks and milestones appear as compact bars beneath summary tasks, automatically repositioning as child tasks change.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Ghu-eeWv1JX7qjP35lKqQg.png" /><figcaption>SVAR React Gantt — Rollups Feature</figcaption></figure><h4><strong>Slack (Float) Visualization</strong></h4><p>Beyond critical path analysis, SVAR React Gantt v2.6 adds slack visualization (PRO feature). It’s a scheduling metric showing how much delay a task can tolerate without affecting dependent tasks or the project deadline.</p><p>When enabled, slack calculates automatically alongside critical path analysis, revealing which tasks have schedule flexibility and which are truly critical.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FKvYTQcodQRwfKSFaqbLzQ.png" /><figcaption>SVAR React Gantt — Slack Visualization</figcaption></figure><h4><strong>Getting Started</strong></h4><p>SVAR React Gantt (open-source edition) is available on GitHub and can be installed via npm. You can <a href="https://svar.dev/react/gantt/#pro">try the PRO Edition</a> for free.</p><pre>npm install @svar-ui/react-gantt</pre><h3>Core 2.5: Performance &amp; Polish</h3><p>SVAR React Core library focuses on performance optimization and UI components that match modern application requirements.</p><h4>Virtualized Dropdowns for Better Performance</h4><p>Large option lists no longer impact performance. Combo, RichSelect, and MultiCombo components now use virtual scrolling — only visible items render in the DOM. Handle thousands of options with smooth, responsive interactions.</p><h4>Avatar Component</h4><p>The new Avatar component renders individual user profiles or avatar groups. Display profile pictures, colored backgrounds, initials, or any combination. Configure sizes, limit visible avatars in groups, and let the component handle overflow indicators automatically.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ekk2GEKSGHggWMM18UofmA.png" /><figcaption>SVAR React Core — Avatar Component</figcaption></figure><h4><strong>Getting Started</strong></h4><p>SVAR React Core is available on <a href="https://github.com/svar-widgets/react-core">GitHub</a> and can be installed via npm.</p><pre>npm install @svar-ui/react-core</pre><h3>How SVAR UI Helps React Development</h3><p>These updates address real pain points in modern React development:</p><ol><li><strong>Filter UX</strong>: instead of complex filters, FilterQuery delivers a fancy natural language filtering and a handy YouTrack-style structured queries.</li><li><strong>Data Grid Flexibility: </strong>Custom editors shouldn’t require framework gymnastics. registerInlineEditor() of SVAR React DataGrid makes it trivial.</li><li><strong>Performance at Scale: </strong>Virtualized dropdowns and optimized rendering handle enterprise-scale datasets.</li><li><strong>Powerful React Gantt</strong>: Enterprise-grade features of SVAR React Gantt make it easy to integrate project schedules and timlines with pure React architecture.</li></ol><p>If you find SVAR React components useful, consider starring SVAR React components on <a href="https://github.com/svar-widgets">GitHub</a>. It helps us maintain the library and ship more features like these ⭐</p><p><em>Building data-intensive React apps just got easier. Try SVAR React components and see the difference production-ready components make.</em></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d9e23c73e016" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How We Built MCP Server for Our React Gantt Component]]></title>
            <link>https://medium.com/itnext/how-we-built-mcp-server-for-our-react-gantt-component-854f895a856f?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/854f895a856f</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[mcp-server]]></category>
            <category><![CDATA[reactjs]]></category>
            <category><![CDATA[ui-library]]></category>
            <category><![CDATA[ai-coding-assistant]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Tue, 20 Jan 2026 13:12:22 GMT</pubDate>
            <atom:updated>2026-01-20T13:12:22.666Z</atom:updated>
            <content:encoded><![CDATA[<p><em>Making a React component AI-accessible: a practical journey from “documentation is too big” to a working MCP server for SVAR React Gantt</em></p><h3>Why Create MCP Server for a UI Component?</h3><p>AI-assisted coding has changed how developers work. Tools like Cursor, GitHub Copilot, and Claude are no longer optional; they’re part of the daily workflow. Instead of reading documentation, developers prefer to ask their AI assistant directly.</p><p>For UI library authors, this creates a problem. We offer <a href="https://svar.dev/react/gantt/">SVAR React Gantt</a> component for building Gantt charts in web applications. Like many JavaScript/React components, it comes with extensive documentation covering APIs, configuration options, and usage examples.</p><p>When a developer asks an AI assistant, <em>“How do I add a task in SVAR React Gantt?”</em>, the model doesn’t actually know our API. It guesses, hallucinates methods, or borrows patterns from similar libraries that don’t apply.</p><p>So we decided to make our documentation <strong>AI-native</strong>. Instead of expecting developers to read the docs, we brought the docs directly to the AI tools they already use.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Cg48nRS-XoVcEB4zqVds1A.jpeg" /></figure><p><a href="https://modelcontextprotocol.io/">MCP (Model Context Protocol)</a> is Anthropic’s open standard for connecting AI assistants to external data sources. Think of it as a bridge between your documentation and any AI tool that supports the protocol. We built an MCP server that lets AI assistants query our documentation intelligently.</p><p>This is the story of how we got there.</p><h3>Why Plain Documentation Isn’t Enough?</h3><h4>The llms.txt Approach</h4><p>You might have heard of <a href="https://llmstxt.org/">llms.txt</a>, a proposed standard for making websites AI-readable. The idea is simple: create a text file with all your documentation in a format LLMs can consume.</p><p>We tried it, but our complete documentation is approximately <strong>84k tokens</strong>. That’s a problem. The entire file has to be sent to the model as context on every query, even when the question is small. This leads to higher latency, higher costs, and leaves less room for the actual user question and the model’s reasoning.</p><p>llms.txt works for simple products with minimal docs. For a complex, full-featured UI component with extensive documentation, it’s not very practical.</p><h4>The “Just Ask ChatGPT” Problem</h4><p>What happens when someone asks ChatGPT (or any other AI tool) about your UI component without any context? You usually get one of the following:</p><ul><li><strong>Hallucinated APIs</strong>: The model invents methods that sound plausible but don’t exist</li><li><strong>Outdated information</strong>: Training data is months or years old</li><li><strong>Wrong patterns</strong>: It applies conventions from similar libraries that don’t match yours</li></ul><p>To test this, we asked LLMs baseline questions about our Gantt component. The answers were confidently <strong>wrong about 90% of the time</strong>.</p><p>Your users deserve better.</p><h3>First Attempt: Off-the-Shelf RAG</h3><p><strong>RAG (Retrieval-Augmented Generation)</strong> seemed like the obvious solution. Feed your documentation into a vector database, retrieve relevant chunks when someone asks a question, pass those chunks to an LLM.</p><p>We set up a standard pipeline:</p><ul><li>Split documentation into chunks</li><li>Generate embeddings using OpenAI’s embedding model</li><li>Store in a vector database</li><li>On query: find similar chunks, pass to GPT for answer</li></ul><p>As a result we’ve got <strong>68% correct answers </strong>on our test set. Common failures were:</p><ul><li>Retrieved chunks were tangentially related but not actually helpful</li><li>Partial answers when information was split across chunks</li><li>Missed context that would have clarified the answer</li></ul><p><strong>The lesson we learnt</strong>: generic RAG doesn’t understand semantics specific for complex UI components. In the case of our Gantt chart library, it doesn’t know that a question about “task dependencies” needs both the Tasks API docs AND the Links configuration section.</p><h3>Custom RAG: Better Accuracy, Worse Latency</h3><p>After this first try, we reworked the approach. Here is what we’ve used:</p><p><strong>Custom chunking strategy</strong>: Instead of splitting by character count, we chunked the documentation by semantic units. Each API method became its own chunk. Related configuration options stayed together, and code examples remained attached to their explanations.</p><p><strong>Better embedding approach</strong>: We experimented with different ways to represent chunks, adding metadata about what section of docs each chunk came from.</p><p>As a result, accuracy <strong>improved to 84% </strong>and answers were more complete and correct. However, latency was 25–60s (avg 38s) per query, which is too slow for interactive use. Users expect near-instant responses from their AI assistant.</p><p><strong>The lesson we learnt</strong>: we improved the quality of answers but created a speed bottleneck.</p><h3>The Breakthrough: Context-Only Architecture</h3><p>Then we had an insight that changed everything. See, the traditional RAG model does this:</p><ol><li>Retrieve relevant chunks</li><li>Pass chunks + question to LLM</li><li>LLM generates answer</li><li>Return answer to user’s AI assistant</li><li>User’s AI assistant processes and presents</li></ol><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Pg3KBSbRD45JpnQOsb_HnA.png" /></figure><p>Have you noticed the redundancy? We’re running an LLM in step 2–3, then the user’s AI assistant (another LLM) processes our output again. That’s two LLM calls doing overlapping work.</p><p>That is why we decided to skip our LLM entirely. Just return the relevant context chunks, so the path will look like this:</p><p><em>Query → Our MCP Server → Retrieve Context → Return Raw Chunks → Agent’s LLM Synthesizes</em></p><p>The agent’s LLM is already going to process whatever we return. So we let it do all the synthesis work, while our job is just to find the right context. This meant our data preparation mattered more than ever:</p><ul><li>Each chunk had to be self-contained enough to be useful</li><li>Relationships between concepts were pre-computed</li><li>Chunks were structured for easy LLM consumption</li></ul><p><strong>Results</strong>:</p><ul><li>Latency dropped to 6–17s (avg 11s)</li><li>Quality stayed the same (or improved, since the agent’s LLM is often better than what we’d run)</li><li>Cost decreased significantly</li></ul><p>This is the architecture we shipped:</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*cyNwaFKUbl2V5Pq5dySmSg.png" /></figure><h3>Preventing Off-Topic and Abusive Queries</h3><p><a href="https://docs.svar.dev/react/gantt/guides/ai/">Our MCP server</a> is publicly available. Anyone can connect to it. That creates a problem: people might ask unrelated questions. “What’s the weather?” “Write me a poem.” “Explain quantum physics.”</p><p>Why does this matter?</p><ul><li><strong>Wasted compute</strong>: Every query costs money to process</li><li><strong>Poor UX</strong>: Returning Gantt chart docs for a weather question is confusing</li></ul><p>So, as a solution we decided to add a lightweight <strong>intent classifier</strong> as the first step. Before doing any retrieval, we run a fast check: “Is this question about Gantt charts, scheduling, or task management?”</p><ul><li><strong>Yes</strong> → Proceed with retrieval</li><li><strong>No</strong> → Return a polite “I can only help with Gantt-related questions”</li></ul><p>This isn’t a complex model, but intentionally simple and fast. We’re not trying to perfectly classify every edge case, we just filter obvious misuse.</p><p><strong>Results</strong>: Even with this simple approach, intent filtering proved effective. Most clearly off-topic queries are rejected early, before any retrieval happens, which reduces unnecessary compute and avoids confusing responses.</p><p>As we evolve the system, this lightweight filtering will be replaced with a more robust, shared classifier across components, further improving accuracy without increasing complexity.</p><h3><strong>The Tools We Used</strong></h3><p>From a technical perspective, we kept the stack intentionally simple:</p><ul><li><a href="https://www.llamaindex.ai/">LlamaIndex</a> handles the RAG pipeline — document ingestion, semantic chunking, embeddings, and retrieval.</li><li><a href="https://gofastmcp.com/getting-started/welcome">FastMCP</a> provides the MCP server layer — protocol compliance, request routing, and exposure of tools and resources.</li></ul><p>This combination let us iterate quickly on retrieval quality without coupling it to MCP mechanics or model selection.</p><h3>What’s Next: Multi-Components Architecture</h3><p>The <a href="https://svar.dev/react/">SVAR React library</a> isn’t just a Gantt component. We offer multiple components: DataGrid, File Manager, Core controls, and more. Currently, each would need its own MCP server. That’s not scalable, neither for us nor for users who work with multiple SVAR components.</p><p>Ideally, we would like to have one MCP server that handles all SVAR components.</p><p><strong>The challenges:</strong></p><ol><li><strong>Query routing</strong>: When someone asks a question, which SVAR component’s docs should we search? Sometimes it’s obvious (“<em>how do I create a Gantt task</em>”). Sometimes it’s ambiguous (“<em>how do I handle drag and drop</em>”, that exists in multiple components).</li><li><strong>Shared concepts</strong>: Some concepts span components (theming, localization, common event patterns). How do we avoid duplicating this information while keeping each component’s context self-contained?</li><li><strong>Context budget</strong>: If we need to pull docs from multiple widgets, we might exceed reasonable context limits. How do we prioritize?</li></ol><p>Currently we’re exploring approaches:</p><ul><li>Query classification to route to specific component</li><li>A shared “common concepts” knowledge base</li><li>Dynamic context allocation based on query complexity</li></ul><p>We haven’t come up with a solution yet, but we’re actively working on it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*WMBYmlwFWO-4RhbU0pYUTg.png" /></figure><h3>Lessons for UI Component Authors</h3><p>If you’re building React or JavaScript components and want to make them AI-accessible by building an MCP server for your documentation, here’s what we learned.</p><h4>Keep It Simple, but Build Your Own</h4><p>Off-the-shelf RAG solutions optimize for the general case. They don’t know that your <em>addTask()</em> method is the most important thing in your docs, or that questions about “dependencies” always need two sections together.</p><p>You don’t need a complex system. You need a simple system tuned to your specific documentation.</p><h4>Chunking Is Everything</h4><p>How you split your documentation matters more than which embedding model you use. Here is what worked for us:</p><ul><li>Chunk by semantic units (methods, components, features) , not arbitrary character counts</li><li>Each chunk should be self-contained enough to answer a question on its own</li><li>Keep code examples with their explanations</li></ul><p><strong>Bad chunking</strong>: “This method takes three parameters. The first is…”</p><p><strong>Good chunking</strong>: Complete method documentation including parameters, return value, example, and common use cases. Everything in one chunk.</p><h4>Simple Models Are Enough with Good Context</h4><p>Don’t reach for GPT-5.2 pro when GPT-5-nano with great context works. The quality of retrieved context matters more than model capability.</p><p>We see better results with a<strong> fast, cheaper model + excellent context retrieval</strong>, than with a powerful model + mediocre context retrieval. Your optimization effort should go into retrieval quality, not model selection.</p><h4>Measure Relentlessly</h4><p>Define what “correct answer” means for your component or library. Build a test set of real developer questions (pull from support tickets, forum questions, or GitHub issues).</p><p>Track three things:</p><ul><li><strong>Accuracy</strong>: % of questions answered correctly</li><li><strong>Latency</strong>: but be explicit about what you’re measuring:<br>- For an <strong>MCP server</strong>, prioritize <strong>time to last token</strong> — how long it takes to deliver the complete context to the agent<br>- For <strong>user-facing AI tools</strong>, <strong>time to first token</strong> matters more, because it defines perceived responsiveness</li><li><strong>Cost</strong>: Per-query cost at your expected scale</li></ul><p>Improve what you measure.</p><h3>Conclusion</h3><p>We started with a simple problem: AI assistants don’t know SVAR React Gantt’s API, so they give wrong answers.</p><p>We tried the easy path (llms.txt), but it didn’t scale. We tried generic RAG, and it wasn’t accurate enough. We built a custom RAG, but it was too slow. We stripped out redundant LLM processing, and finally got something that works.</p><p>The breakthrough came when we removed redundant LLM processing and focused our MCP server on a single responsibility: <strong>retrieving the right context, not generating answers</strong>.</p><p>The architecture we shipped is simple:</p><ul><li>A lightweight intent filter to reject off-topic queries</li><li>Semantic retrieval over carefully structured documentation</li><li>Raw context returned directly to the agent’s LLM for synthesis</li></ul><p>For UI component and library authors, making your product AI-accessible is no longer a nice-to-have. Developers expect their AI tools to understand whatever they’re working with. If your documentation isn’t reachable by those tools, friction is inevitable.</p><p>The good news is that this doesn’t require a massive system. Start simple, optimize retrieval quality, measure accuracy and latency, and iterate.</p><p>If you want a more technical breakdown of MCP primitives and architecture, we published a <a href="https://svar.dev/blog/mcp-server-for-react-gantt/">deeper dive on our blog</a>.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=854f895a856f" width="1" height="1" alt=""><hr><p><a href="https://medium.com/itnext/how-we-built-mcp-server-for-our-react-gantt-component-854f895a856f">How We Built MCP Server for Our React Gantt Component</a> was originally published in <a href="https://medium.com/itnext">ITNEXT</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SVAR Gantt 2.4: A Modern Gantt Chart Library for React & Svelte under the MIT License]]></title>
            <link>https://javascript.plainenglish.io/svar-gantt-2-4-a-modern-gantt-chart-library-for-react-svelte-under-the-mit-license-ae62f36a5dde?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/ae62f36a5dde</guid>
            <category><![CDATA[project-management]]></category>
            <category><![CDATA[svelte]]></category>
            <category><![CDATA[gantt-chart]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[reactjs]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Mon, 05 Jan 2026 09:26:44 GMT</pubDate>
            <atom:updated>2026-01-13T18:10:52.962Z</atom:updated>
            <content:encoded><![CDATA[<p>Gantt charts remain one of the most powerful tools for project management. They help to visualize project timelines, see task dependencies, and track progress.</p><p>If you need to integrate a Gantt chart in your web application, you’ll probably try to find if any ready-to-use solution exists. And if you do, you’ll quickly notice that many available libraries come with restrictive or expensive licenses, heavy wrappers around legacy code, limited flexibility or feature sets, or haven’t been updated for years.</p><p>With <strong>SVAR Gantt v2.4</strong>, we’re addressing several of these pain points at once, providing a modern, customizable <a href="https://svar.dev/react/gantt/">Gantt chart library for React</a> and <a href="https://svar.dev/svelte/gantt/">Svelte</a>.</p><p>This release introduces:</p><ul><li>a permissive <strong>MIT license</strong> for the open-source core,</li><li>a new <strong>PRO Edition</strong> for advanced scheduling needs,</li><li>an <strong>MCP server</strong> that makes AI-assisted development actually useful in real projects (currently available for the React Gantt only).</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SvzZbec86zUq_ABphzR2dg.png" /><figcaption>SVAR Gantt Chart — Dark Skin, Task Edit Form</figcaption></figure><h3>SVAR Gantt 2.4: Open-Source Core under the MIT License</h3><p>Starting with version 2.4, the open-source edition of SVAR Gantt is released under<strong> </strong>the<strong> MIT license</strong>. This means you can now use the Gantt component freely in personal projects, open-source applications or commercial products.</p><p>The MIT-licensed core already includes everything needed to build a fully functional and modern project planning UI. It provides a flexible task grid and timeline, support for hierarchical and summary tasks, task dependencies, customizable time scales, zooming, task edit form, and drag-and-drop editing directly on the chart.</p><p>The component is highly customizable, supports light and dark themes, localization, and keyboard navigation.</p><p>Installation remains straightforward. For React:</p><pre>npm install @svar-ui/react-gantt</pre><p>or, for Svelte:</p><pre>npm install @svar-ui/svelte-gantt</pre><p>We’re committed to actively maintaining and improving the open-source edition alongside the PRO version. Version 2.4 brings several practical improvements that focus on usability and developer experience:</p><p><strong>Inline Dependency Removal</strong> — You can now remove task dependencies directly on the timeline. Click a dependency line, use the remove icon, and the relationship is gone — no need to open an edit form for simple changes.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*GHwGR28pg1Zq5SaZbZYbDg.png" /><figcaption>Remove task dependency on the timeline</figcaption></figure><p><strong>Locale-Aware Scale Formatting — </strong>Timeline scale labels now respect the active locale automatically. Date formats adapt to regional conventions, including week start settings, without additional configuration.</p><p>These changes may look small, but they significantly reduce friction when working with real project data.</p><h3>Introducing SVAR Gantt PRO Edition</h3><p>SVAR Gantt v.2.4 also introduces a <strong>PRO Edition</strong> for teams that need more advanced scheduling logic. The PRO Edition adds advanced planning and calculation features commonly found in enterprise project management tools:</p><ul><li>Non-linear time scales (work days calendar)</li><li>Auto-scheduling (Finish-to-Start dependencies)</li><li>Critical path</li><li>Baselines</li><li>Split tasks</li><li>Unscheduled tasks, and more</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*KjYtgCbj34VC08D1lQJDbw.gif" /><figcaption>Auto-scheduling feature for finish-to-start dependencies</figcaption></figure><p>A <strong>30-day free trial</strong> is available for teams who want to evaluate the PRO features: <a href="https://svar.dev/svelte/gantt/#trial">Svelte Gantt Trial</a> &amp; <a href="https://svar.dev/react/gantt/#trial">React Gantt Trial</a>.</p><h3>AI-Assisted Development for React Gantt</h3><p>SVAR React Gantt now includes a <a href="https://docs.svar.dev/react/gantt/guides/ai"><strong>Model Context Protocol (MCP) server</strong></a>. When connected to tools like Cursor, Claude Code, or Gemini, the MCP server gives your AI assistant direct access to:</p><ul><li>current documentation</li><li>up-to-date API references</li><li>live demos</li></ul><p>This helps avoid outdated examples and incorrect suggestions when integrating or customizing the Gantt chart with AI tools. If you already rely on AI code assistants in your workflow, the MCP server makes them far more reliable when working with SVAR React Gantt.</p><h3>SVAR Component Library v2.4 (React &amp; Svelte)</h3><p>Alongside the SVAR Gantt release, we’ve also updated our entire open-source component libraries: <a href="https://svar.dev/svelte/">SVAR Svelte</a> and <a href="https://svar.dev/react/">SVAR React</a>.</p><p>This update focuses on performance, consistency, and UI/UX improvements across <strong>Core </strong>components<strong> </strong>and<strong> DataGrid</strong>, making the library a solid foundation for modern React and Svelte applications.</p><h3>Core Components Highlights</h3><ul><li>disabled menu items (clearer UX without hiding actions)</li><li>new <strong>Fullscreen</strong> component</li><li>simplified field label handling</li><li>smarter popup positioning and alignment</li></ul><h3>DataGrid Enhancements</h3><ul><li>built-in customizable <strong>toolbar</strong></li><li>expanded <strong>context menu</strong> (copy, paste, move, undo/redo)</li><li>variable row heights</li><li><strong>customizable</strong> sorting logic</li></ul><p>These updates make the DataGrid a solid choice for displaying tabular data in Svelte or React applications, while maintaining fast loading and rendering performance. At the same time, the SVAR Core library has become even more convenient and flexible for building modern web interfaces.</p><h3>Wrapping Up</h3><p>With SVAR Gantt v2.4, we’re making modern Gantt chart integration straightforward for React and Svelte developers. The MIT-licensed core handles most project planning needs out of the box. The PRO Edition adds advanced scheduling for complex enterprise scenarios.</p><p>This release is part of our ongoing commitment to providing high-quality, actively maintained UI components for modern JavaScript frameworks. We’re continuing to develop both editions based on real-world usage and community feedback.</p><p><strong>Resources:</strong></p><ul><li>📚 <a href="https://docs.svar.dev/">Documentation</a></li><li>👀 <a href="https://svar.dev/demos/">Demos</a></li><li>⭐ <a href="https://github.com/svar-widgets/">GitHub</a></li></ul><p>Start building amazing web apps with <a href="https://svar.dev/">SVAR components</a> today!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=ae62f36a5dde" width="1" height="1" alt=""><hr><p><a href="https://javascript.plainenglish.io/svar-gantt-2-4-a-modern-gantt-chart-library-for-react-svelte-under-the-mit-license-ae62f36a5dde">SVAR Gantt 2.4: A Modern Gantt Chart Library for React &amp; Svelte under the MIT License</a> was originally published in <a href="https://javascript.plainenglish.io">JavaScript in Plain English</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SVAR React Gantt v2.3: Modern Project Timelines for React 19]]></title>
            <link>https://javascript.plainenglish.io/svar-react-gantt-v2-3-modern-project-timelines-for-react-19-338b31ac433f?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/338b31ac433f</guid>
            <category><![CDATA[react]]></category>
            <category><![CDATA[reactjs]]></category>
            <category><![CDATA[gantt-chart]]></category>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[gantt]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Mon, 27 Oct 2025 17:03:56 GMT</pubDate>
            <atom:updated>2025-10-27T17:03:56.711Z</atom:updated>
            <content:encoded><![CDATA[<p><em>Build scheduling and project management apps faster with React 19 support, TypeScript definitions, configurable scales, and task editing options.</em></p><p>If you’ve ever built scheduling or project management tools in React, you know how much time goes into getting timelines, tasks, and dependencies just right. With SVAR React Gantt 2.3, that entire experience just leveled up.</p><h3>What Is SVAR React Gantt?</h3><p><a href="https://svar.dev/react/gantt/">SVAR React Gantt</a> is a complete timeline component for React applications. It handles task dependencies, drag-and-drop scheduling, zoom levels, customizable time scales — all the complex features you don’t want to build from scratch. Think of it as the timeline interface behind tools like Asana or Monday.com, but as a React component you control.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*manUnBgv6NyFzkJdsUXO4g.png" /></figure><p>Version 2.3 introduces the most requested features from the developer community. This release brings React 19 compatibility, official TypeScript support, and makes the package <a href="https://github.com/svar-widgets/react-gantt"><strong>available on GitHub</strong></a> under GPLv3.</p><p>But more importantly, it adds greater flexibility to create customizable timelines adjusted to your project requirements.</p><p>You can install the latest version of SVAR React Gantt via npm:</p><pre>npm install @svar-ui/react-gantt</pre><p>Let’s look closer at what’s new and why this release makes SVAR React Gantt one of the most capable open-source Gantt components for modern React apps.</p><h3>Full React 19 + TypeScript Support</h3><p>The foundation of v2.3 is compatibility with <strong>React 19</strong>, ensuring seamless integration with the latest concurrent rendering and performance improvements.</p><p>It also ships with <strong>TypeScript definitions</strong>, so you get proper type safety, and fewer runtime surprises right in your IDE.</p><h3>Time Precision Beyond Days</h3><p>SVAR React Gantt v2.3 doesn’t stop at day-level planning, it adds <strong>hour</strong> and <strong>minute</strong> precision through two new properties:</p><ul><li><strong>durationUnit</strong> — defines duration of a task in hours or days</li><li><strong>lengthUnit</strong> — defines the minimal unit for task bars (the task length) in a chart and can be set from minute, hour, day, week to month, quarter or year.</li></ul><p><strong>Why it matters:<br></strong>Now you can visualize even the shortest tasks with precise start and end times — perfect for production lines, healthcare shifts, or logistics dashboards.</p><p><em>👉 See more in docs — </em><a href="https://docs.svar.dev/react/gantt/api/properties/durationunit"><em>durationUnit</em></a><em> &amp; </em><a href="https://docs.svar.dev/react/gantt/api/properties/lengthunit"><em>lengthUnit</em></a></p><h3>Custom Time Scales That Match Your Workflow</h3><p>Beyond fixed weeks or months, with <strong>registerScaleUnit</strong> helper you can define your own scale units to reflect how your team actually works. You’re no longer limited to predefined timeframes and can fully adapt the timeline to your application requirements.</p><p><strong>Use Cases:</strong></p><ul><li>Two-week sprints</li><li>Fiscal quarters</li><li>Irregular project phases</li><li>Half-year periods</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*h0iT5riqSwCRUfVM5Bcd3w.png" /><figcaption>SVAR React Gantt — Custom Scale</figcaption></figure><p>With the new <strong>autoScale</strong> option, you can decide whether the chart adapts automatically to your data or stays fixed — giving you full control over your timeline.</p><p><em>👉 See more in docs — </em><a href="https://docs.svar.dev/react/gantt/guides/configuration/configure_scales"><em>Configuring time scale</em></a></p><h3>A Smarter, More Interactive Task Grid</h3><p>Managing a large number of tasks just got simpler. The upgraded task grid introduces:</p><ul><li><strong>Multi-column sorting</strong></li><li><strong>In-cell editing</strong> (text, date, dropdown, or custom editors)</li><li><strong>Custom HTML </strong>rendering in cells</li><li><strong>Header menu</strong> to show or hide columns on the fly</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*n2kVHZp41RJYGhPgroEAmA.png" /><figcaption>SVAR React Gantt — Custom HTML in Columns</figcaption></figure><p>No need to open task edit form for every change — edit tasks inline and keep your workflow fast and fluid.</p><p><em>👉 See more in docs — </em><a href="https://docs.svar.dev/react/gantt/guides/configuration/configure_grid"><em>How to configure task grid</em></a></p><h3>Configurable Task Editor</h3><p>The task editor has been refactored into a standalone, fully customizable component based on<a href="https://svar.dev/react/editor/"> SVAR React Editor</a>. This gives you more freedom to:</p><ul><li>Choose between <strong>sidebar</strong> or <strong>modal</strong> layouts</li><li>Add field-level validation</li><li>Set up <strong>auto-save</strong> or <strong>manual-save</strong> modes</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BwJ_-rl7s2Nml59xzDQWbw.png" /><figcaption>SVAR React Gantt — Task Edit Form</figcaption></figure><p>This separation makes it easier to customize the form or reuse it across different project views.</p><p><em>👉 See more in docs — </em><a href="https://docs.svar.dev/react/gantt/guides/configuration/configure_editor"><em>How to configure task editor</em></a></p><h3>Keyboard Shortcuts</h3><p>End users can now navigate Gantt charts faster with <strong>hotkeys</strong> for common actions: copy, cut, paste, delete, open editor, and navigate through grid rows. This small change adds huge productivity gains during long planning sessions.</p><p><em>👉 See more in docs — </em><a href="https://docs.svar.dev/react/gantt/guides/user-interface#hotkeys"><em>Hotkeys support</em></a></p><h3>UX Enhancements</h3><p>SVAR React Gantt v2.3 introduces several polish updates:</p><ul><li><strong>Fullscreen mode</strong> for clean presentations</li><li>Resizable grid and chart areas with new <strong>expand/collapse control</strong></li><li>Built-in <strong>localization</strong> support</li><li>Customizable <strong>tooltips</strong> on hover for task details</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Cn9sFo_imMybhMfsMTLHDg.png" /><figcaption>SVAR React Gantt — Task Tooltips</figcaption></figure><p>All these updates make the component feel smoother, more responsive, and ready for enterprise use.</p><h3><strong>The Bottom Line</strong></h3><p>With this update, SVAR React Gantt becomes one of the few React timeline libraries that combine <strong>modern React architecture</strong>, <strong>fine-grained scheduling</strong>, and <strong>deep customization</strong> — all in one open-source package.</p><p>Whether you’re building a project planner, workforce scheduler, or resource management dashboard, SVAR React Gantt gives you the flexibility to do it faster and smarter.</p><p><strong>Explore SVAR React Gantt v2.3:</strong></p><p>🛠️ <a href="https://github.com/svar-widgets/react-gantt">GitHub Repository</a></p><p>📚 <a href="https://docs.svar.dev/react/gantt/">Documentation</a></p><p>✨ <a href="https://docs.svar.dev/react/gantt/samples/">Live Demos</a></p><p>💬 <em>Have you used SVAR React Gantt or another timeline library in your React projects? Which features matter most to you in a Gantt component? Share your thoughts in the comments!</em></p><h3>A message from our Founder</h3><p><strong>Hey, </strong><a href="https://linkedin.com/in/sunilsandhu"><strong>Sunil</strong></a><strong> here.</strong> I wanted to take a moment to thank you for reading until the end and for being a part of this community.</p><p>Did you know that our team run these publications as a volunteer effort to over 3.5m monthly readers? <strong>We don’t receive any funding, we do this to support the community. ❤️</strong></p><p>If you want to show some love, please take a moment to <strong>follow me on </strong><a href="https://linkedin.com/in/sunilsandhu"><strong>LinkedIn</strong></a><strong>, </strong><a href="https://tiktok.com/@messyfounder"><strong>TikTok</strong></a>, <a href="https://instagram.com/sunilsandhu"><strong>Instagram</strong></a>. You can also subscribe to our <a href="https://newsletter.plainenglish.io/"><strong>weekly newsletter</strong></a>.</p><p>And before you go, don’t forget to <strong>clap</strong> and <strong>follow</strong> the writer️!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=338b31ac433f" width="1" height="1" alt=""><hr><p><a href="https://javascript.plainenglish.io/svar-react-gantt-v2-3-modern-project-timelines-for-react-19-338b31ac433f">SVAR React Gantt v2.3: Modern Project Timelines for React 19</a> was originally published in <a href="https://javascript.plainenglish.io">JavaScript in Plain English</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SVAR React DataGrid v2.3 — A Free Alternative for Advanced Data Tables]]></title>
            <link>https://javascript.plainenglish.io/svar-react-datagrid-v2-3-a-free-alternative-for-advanced-data-tables-402f91eb5e44?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/402f91eb5e44</guid>
            <category><![CDATA[web-development]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[datagrid]]></category>
            <category><![CDATA[reactjs]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Fri, 17 Oct 2025 01:03:09 GMT</pubDate>
            <atom:updated>2025-10-17T01:03:09.638Z</atom:updated>
            <content:encoded><![CDATA[<h3>SVAR React DataGrid v2.3 — A Free Alternative for Advanced Data Tables</h3><p>Working with tabular data in React might seem easy but can turn out to be a challenging task. You start with a simple feature list, but soon your app needs sorting, filtering, in-cell editing, accessibility compliance, not mentioning responsive layout and data export.</p><p>Of course, there are tons of data table libraries for React that give you most of these features. But they’re either heavy and expensive, or kind of limited in feature set.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/720/1*hN0X3Fi7rte4MkJt4l2t1w.png" /><figcaption>SVAR React DataGrid — Filtering Example</figcaption></figure><p>That’s why we built <a href="https://svar.dev/react/datagrid/">SVAR React DataGrid</a>, an open-source React datagrid component which is available under MIT license. With the recent v2.3 release, it now covers a feature set that makes it a strong competitor to the established players (AG Grid, MUI DataGrid, TanStack Table).</p><h3>Key Features</h3><p>Here’s what’s already built into SVAR React DataGrid (v2.3 and earlier):</p><ul><li><strong>React 19 and Typescript support</strong>: the essentials of modern React components.</li><li><strong>Accessibility</strong>: compatibility with WAI-ARIA standards.</li><li><strong>Performance</strong>: virtual scrolling for rows and columns, dynamic data loading — <a href="https://docs.svar.dev/react/grid/samples/#/bigdata/willow">check the demo with big data</a> ⚡</li><li><strong>Data management</strong>: multi-column sorting, selection, editing (in-cell and via form).</li><li><strong>Presentation</strong>: cell templates, cell tooltips, tree data, pagination.</li><li><strong>Layout</strong>: pinned columns, collapsible column groups, auto-sizing.</li><li><strong>Backend/export</strong>: RestDataProvider integration, print API, CSV export.</li><li><strong>Customization</strong>: light/dark themes, CSS variables, localization.</li></ul><p>In other words, SVAR React DataGrid v2.3 is now a powerful datagrid component with a solid feature set that can significantly save your development time. And what’s even better, it’s open-source.</p><h3>Get Started</h3><p>Starting with v2.3, the SVAR DataGrid package is available under the @svar-ui namespace:</p><pre>npm install @svar-ui/react-grid</pre><p>Here is the code example that adds a simple data table on a page with SVAR React DataGrid:</p><pre>import { Grid } from &quot;@svar-ui/react-grid&quot;;<br>import &quot;@svar-ui/react-grid/all.css&quot;;<br><br>const data = [<br>  {<br>    id: 1,<br>    city: &quot;Amieshire&quot;,<br>    email: &quot;Leora13@yahoo.com&quot;,<br>    firstName: &quot;Ernest&quot;,<br>    lastName: &quot;Schuppe&quot;,<br>    companyName: &quot;Lebsack - Nicolas&quot;,<br>  },<br>  {<br>    id: 2,<br>    city: &quot;Gust&quot;,<br>    email: &quot;Mose_Gerhold51@yahoo.com&quot;,<br>    firstName: &quot;Janis&quot;,<br>    lastName: &quot;Vandervort&quot;,<br>    companyName: &quot;Glover - Hermiston&quot;,<br>  },<br>];<br><br>const columns = [<br>  { id: &quot;id&quot;, width: 50 },<br>  { id: &quot;city&quot;, width: 100, header: &quot;City&quot;, footer: &quot;City&quot; },<br>  { id: &quot;firstName&quot;, header: &quot;First Name&quot;, footer: &quot;First Name&quot;, width: 150 },<br>  { id: &quot;lastName&quot;, header: &quot;Last Name&quot;, footer: &quot;Last Name&quot;, width: 150 },<br>  { id: &quot;email&quot;, header: &quot;Email&quot;, footer: &quot;Email&quot; },<br>  { id: &quot;companyName&quot;, header: &quot;Company&quot;, footer: &quot;Company&quot; },<br>];<br><br>export default function App() {<br>  return &lt;Grid data={data} columns={columns} /&gt;;<br>}</pre><h3>Learn More</h3><p>Here you’ll find more details on how to start using SVAR React DataGrid v2.3 and try the available features:</p><ul><li><a href="https://github.com/svar-widgets/react-grid">GitHub repository</a> 🛠️</li><li><a href="https://docs.svar.dev/react/grid/samples/">Live demos</a> 👀</li><li><a href="https://docs.svar.dev/react/grid/getting_started">Documentation</a> 📚</li><li><a href="https://svar.dev/blog/react-datagrid-2-3-released/">Full release notes</a> 📝</li></ul><h3>Why Try SVAR DataGrid?</h3><p>SVAR React DataGrid is designed to hit the sweet spot:</p><ul><li>Modern React-first API</li><li>Super fast with virtual scrolling</li><li>Feature-complete (editing, filtering, export, responsive, accessibility)</li><li>MIT license</li></ul><p>If you’re building a project dashboard, admin panel, or any React app that works with structured data, SVAR React DataGrid v2.3 is worth a try. Explore the demos, experiment with the new features, and see how it can help you build advanced data tables faster.</p><h3>A message from our Founder</h3><p><strong>Hey, </strong><a href="https://linkedin.com/in/sunilsandhu"><strong>Sunil</strong></a><strong> here.</strong> I wanted to take a moment to thank you for reading until the end and for being a part of this community.</p><p>Did you know that our team run these publications as a volunteer effort to over 3.5m monthly readers? <strong>We don’t receive any funding, we do this to support the community. ❤️</strong></p><p>If you want to show some love, please take a moment to <strong>follow me on </strong><a href="https://linkedin.com/in/sunilsandhu"><strong>LinkedIn</strong></a><strong>, </strong><a href="https://tiktok.com/@messyfounder"><strong>TikTok</strong></a>, <a href="https://instagram.com/sunilsandhu"><strong>Instagram</strong></a>. You can also subscribe to our <a href="https://newsletter.plainenglish.io/"><strong>weekly newsletter</strong></a>.</p><p>And before you go, don’t forget to <strong>clap</strong> and <strong>follow</strong> the writer️!</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=402f91eb5e44" width="1" height="1" alt=""><hr><p><a href="https://javascript.plainenglish.io/svar-react-datagrid-v2-3-a-free-alternative-for-advanced-data-tables-402f91eb5e44">SVAR React DataGrid v2.3 — A Free Alternative for Advanced Data Tables</a> was originally published in <a href="https://javascript.plainenglish.io">JavaScript in Plain English</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[SVAR React Filter: Open-Source Query Builder for React]]></title>
            <link>https://medium.com/@SvarWidgets/svar-react-filter-open-source-query-builder-for-react-15b5f616ab00?source=rss-9bf70ffd29e9------2</link>
            <guid isPermaLink="false">https://medium.com/p/15b5f616ab00</guid>
            <category><![CDATA[webdev]]></category>
            <category><![CDATA[react]]></category>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[open-source]]></category>
            <category><![CDATA[reactjs]]></category>
            <dc:creator><![CDATA[SVAR UI Components]]></dc:creator>
            <pubDate>Mon, 13 Oct 2025 10:09:35 GMT</pubDate>
            <atom:updated>2025-10-13T10:09:35.436Z</atom:updated>
            <content:encoded><![CDATA[<p>If you’re building a React app that works with large datasets, giving users an intuitive way to filter and find what they need is essential. Think of admin dashboards, CRMs, project management tools, or analytics panels where users have to interact with and analyze large volumes of data.</p><p>To simplify this task, we’ve created <a href="https://svar.dev/react/filter/"><strong>SVAR React Filter</strong></a>, a query builder for React that provides everything you need out of the box: a clear and intuitive filtering UI, AND/OR logic, nested filter groups, support for multiple data types, and a wide range of conditions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*1ZUEV4CSvVQDNDeQn4YaqQ.png" /></figure><h3>What’s Included</h3><p>SVAR React Filter library includes three components:</p><ul><li><strong>FilterBuilder</strong> — an advanced logic builder for complex queries</li><li><strong>FilterEditor</strong> — a standalone filter for a single field</li><li><strong>FilterBar</strong> — a simple toolbar with inputs empowered by query-building logic</li></ul><p>SVAR React Filter can be easily integrated into React projects, as it:</p><ul><li>Works with React 18 and 19</li><li>Supports TypeScript</li><li>Produces and consumes JSON format</li><li>Is MIT-licensed —check out the repository <a href="https://github.com/svar-widgets/react-filter/">on GitHub</a> 🛠️</li></ul><p>To try SVAR React Filter in action, <a href="https://svar.dev/demos/react/filter/">see this demo with SVAR DataGrid</a>.</p><h3>Why SVAR React Filter?</h3><p>SVAR React Filter comes with ready-to-use advanced logic of a query builder combined with a clean, modern user interface.</p><p><strong>Filtering Logic</strong></p><ul><li>Build complex queries with multiple fields, grouped filters, and nested conditions</li><li>Combine rules using AND/OR logic for precise data filtering</li><li>Filter text, numbers, and dates with type-specific operations (equals, contains, greater than, begins with, etc.)</li></ul><p><strong>User Experience</strong></p><ul><li>Display filters vertically or horizontally to fit your layout</li><li>Load filter options dynamically as users create new filters</li><li>Localize text labels and date formats based on user locale</li><li>Choose between light and dark themes</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*bdl7DJCvgIy9BiLO.png" /><figcaption>SVAR React Filter — Query Builder in Light and Dark Themes</figcaption></figure><p><strong>Developer Experience</strong></p><ul><li>Get structured JSON output ready for backend processing</li><li>Transform filter queries to SQL using the included <a href="https://github.com/svar-widgets/filter-backend-go">Go backend integration</a></li><li>Configure each filter type with a straightforward API</li></ul><h3>Get Started</h3><p>You can install SVAR React Filter via npm:</p><p>npm install @svar-ui/react-filter</p><p>Here’s a quick example to get you started with FilterBuilder using the light Willow theme:</p><pre>import { FilterBuilder, Willow } from &quot;@svar-ui/react-filter&quot;;<br>import &quot;@svar-ui/react-filter/all.css&quot;;<br><br>const fields = [<br>{ id: &quot;first_name&quot;, label: &quot;First Name&quot;, type: &quot;text&quot; },<br>{ id: &quot;age&quot;, label: &quot;Age&quot;, type: &quot;number&quot; },<br>{ id: &quot;start&quot;, label: &quot;Start Date&quot;, type: &quot;date&quot;, format: &quot;%y-%m-%d&quot; }<br>];<br><br>const options = {<br>first_name: [&quot;Alex&quot;, &quot;Adam&quot;, &quot;John&quot;, &quot;Jane&quot;],<br>age: [17, 21, 35, 42],<br>start: [new Date(2025, 4, 7), new Date(2025, 4, 10)]<br>};<br><br>export default function App() {<br>return (<br>&lt;Willow&gt;<br>&lt;FilterBuilder fields={fields} options={options} /&gt;<br>&lt;/Willow&gt;<br>);<br>}</pre><p>For detailed instructions, API references, and more examples see:</p><ul><li><a href="https://docs.svar.dev/react/filter/getting_started">Getting started guide</a></li><li><a href="https://docs.svar.dev/react/filter/api/overview/api_overview">API references</a></li><li><a href="https://docs.svar.dev/react/filter/samples/">Demos</a></li></ul><h3>Wrapping Up</h3><p>With SVAR React Filter, you can add advanced filtering to your React applications without building it from scratch. Whether you need a compact filter bar for a table or a full-featured query builder for complex dashboards, it provides the right level of flexibility.</p><p>Try it in your React project and see how much easier filtering can be. If you like it, a star on <a href="https://github.com/svar-widgets/react-filter/">GitHub</a> will be much appreciated! 🌟</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=15b5f616ab00" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>