<?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: RoarLyte</title>
    <description>The latest articles on DEV Community by RoarLyte (@roarlyte_1771).</description>
    <link>https://dev.to/roarlyte_1771</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3820435%2F522d1188-3a18-4397-9cb1-806db31b3c6c.png</url>
      <title>DEV Community: RoarLyte</title>
      <link>https://dev.to/roarlyte_1771</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/roarlyte_1771"/>
    <language>en</language>
    <item>
      <title>Official Release of LyteNyte Grid Version 2.1</title>
      <dc:creator>RoarLyte</dc:creator>
      <pubDate>Thu, 30 Apr 2026 20:22:28 +0000</pubDate>
      <link>https://dev.to/roarlyte_1771/official-release-of-lytenyte-grid-version-21-c7i</link>
      <guid>https://dev.to/roarlyte_1771/official-release-of-lytenyte-grid-version-21-c7i</guid>
      <description>&lt;h2&gt;
  
  
  Ship Powerful Data Grids In Minutes With One Prompt
&lt;/h2&gt;

&lt;p&gt;Building powerful, feature-rich data grids can take an agonizingly long time. LyteNyte Grid 2.1 changes that.&lt;/p&gt;

&lt;p&gt;We didn’t want to add AI capabilities to LyteNyte Grid to chase the hype. Shipping a marginally useful AI gimmick that looks cool in a demo but gathers dust in production isn’t how we operate. We needed AI to do the heavy lifting and genuinely accelerate your workflow.&lt;/p&gt;

&lt;p&gt;The answer was simple: &lt;strong&gt;Have AI build advanced data grids simply by describing what you want.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;LyteNyte Grid 2.1 ships AI Skills, the grid's first set of AI-enhanced workflows. With Skills, you can go from idea to production-ready data grid in a single prompt, turning hours of development into minutes. &lt;/p&gt;




&lt;h2&gt;
  
  
  What’s New In LyteNyte Grid 2.1?
&lt;/h2&gt;

&lt;p&gt;LyteNyte Grid 2.1 introduces AI-enhanced workflows, advanced expressions, and removes paywalls where they don’t belong:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LyteNyte Grid AI Skills (Core + PRO)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Create advanced data grids in a single prompt.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Works with Claude Code, Cursor, Windsurf, and other AI coding agents.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;20+ reference files for deeper context, accuracy, and token efficiency.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fully handles accessibility requirements out of the box.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Expression Capabilities (PRO)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Evaluate custom, application-specific expressions with a flexible expression engine.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Filter grid data with dynamic expressions that make complex rules simple to define.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Customize how expressions work using plugins to match your application’s needs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Cell Selection &amp;amp; Clipboard Now Free (Core)&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Single and multi-range selection, controlled state, and clipboard support, all open source.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;LyteNyte Grid Core officially offers more features than other open-source data grid libraries.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Whether you need a free, open-source data grid (Core) or are shipping enterprise-scale applications that require advanced features and support (PRO), LyteNyte Grid 2.1 has you covered.&lt;/p&gt;




&lt;h2&gt;
  
  
  Build Faster with LyteNyte Grid AI Skills
&lt;/h2&gt;

&lt;p&gt;You can think of &lt;a href="https://www.1771technologies.com/docs/ai-skills-overview" rel="noopener noreferrer"&gt;AI Skills&lt;/a&gt; as the ultimate cheat code for your AI assistant.&lt;/p&gt;

&lt;p&gt;Technically speaking, they are structured context files that your coding agent loads when interacting with LyteNyte Grid. Practically speaking, they are what stop your AI from hallucinating outdated APIs and writing broken code.&lt;/p&gt;

&lt;p&gt;LyteNyte Grid AI Skills provide your coding agent with up-to-date, curated knowledge of the grid, so it actually knows what it’s doing. The result is advanced grid implementations generated with greater accuracy, reliability, and speed.&lt;/p&gt;

&lt;p&gt;Instead of manually wiring together a complex grid, developers can describe what they want and let their coding agent do the heavy lifting.&lt;/p&gt;

&lt;p&gt;Learn more: &lt;a href="https://www.1771technologies.com/docs/ai-skills-usage" rel="noopener noreferrer"&gt;Using AI Skills&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Install LyteNyte Grid AI Skills&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
Skills works with Claude Code, Cursor, Windsurf, and any other coding agent that supports the Vercel Skills CLI. &lt;/p&gt;

&lt;p&gt;Install it in one command:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npx skills add 1771-Technologies/lytenyte&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Skills are installed in your project and activate automatically. You don’t need to paste documentation into the chat or tell the agent to use it. When you describe a grid task, the agent detects the Skill and starts using it.&lt;/p&gt;

&lt;p&gt;Learn more: &lt;a href="https://www.1771technologies.com/docs/ai-skills-installation" rel="noopener noreferrer"&gt;AI Skills Installation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Fewer Mistakes, Better Code&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
LyteNyte Grid AI Skills cover virtually every aspect of building the grid, including implementation details that help prevent the most common AI mistakes. For example:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;The grid container must have a defined height, or it renders blank.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;All non-primitive props, such as &lt;code&gt;columns&lt;/code&gt;, &lt;code&gt;events&lt;/code&gt;, and &lt;code&gt;apiExtension&lt;/code&gt;, must use stable references.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;columns&lt;/code&gt; always require an &lt;code&gt;onColumnsChange&lt;/code&gt; handler, or user interactions are silently discarded.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pivoting requires spreading &lt;code&gt;ds.usePivotProps()&lt;/code&gt; onto &lt;code&gt;&amp;lt;Grid /&amp;gt;&lt;/code&gt; in addition to setting &lt;code&gt;pivotMode: true&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These gotchas are explicitly surfaced to the agent before it writes any code, which means the code it generates is far more likely to work correctly the first time.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Why LyteNyte Grid &amp;amp; AI Skills?&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
The reasons Skills works reliably and accurately with LyteNyte Grid are a direct result of our unique architecture and design:  &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;No Wrapper Layers:&lt;/strong&gt; Built in React, for React. Your coding agent already understands React, so it already understands LyteNyte Grid. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stateless &amp;amp; Declarative:&lt;/strong&gt; Interfaces are unopinionated and declarative, with everything driven by props. Your AI doesn’t have to write chaotic mapping or translation code to force things to work. It directly shapes the grid based on your app’s state.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Zero Guesswork:&lt;/strong&gt; Coding agents use well-documented React patterns that they are familiar with, leading to faster, more accurate results from simple prompts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Accessibility:&lt;/strong&gt; Accessibility is built directly into the grid, so your AI can skip the misery of manually hallucinating custom screen-reader properties.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Turns out, when you design an API that developers enjoy using, it translates perfectly to an AI that knows exactly what to do with it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Powerful Expressions Capabilities
&lt;/h2&gt;

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

&lt;p&gt;LyteNyte Grid 2.1 introduces powerful expression capabilities that bring cell-level computations, user-defined logic, and advanced filtering directly into the grid. Instead of hard-coding every rule, calculation, or filter condition, developers can give users a consistent, intuitive way to define logic alongside their data.&lt;/p&gt;

&lt;p&gt;This functionality is delivered through four complementary features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expression Input Component:&lt;/strong&gt; An intuitive UI that reduces friction when creating expressions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expression Engine:&lt;/strong&gt; Powers custom, application-specific expression languages.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Advanced Expression Filter:&lt;/strong&gt; Dynamic, logic-based filtering for complex conditions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Expression Plugins:&lt;/strong&gt; Provides an easy way to extend expressions and custom functions even further.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Together, these features allow developers to easily expose spreadsheet-like data manipulation directly to their end-users.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;The Expression Engine &amp;amp; UI&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
LyteNyte Grid’s Expression Engine lets you inject custom calculations and application-specific logic directly into the grid, turning user-defined formulas, such as &lt;code&gt;sum(Sale Revenue) / sum(Quantity Sold)&lt;/code&gt;, into actionable data.&lt;/p&gt;

&lt;p&gt;Under the hood, the engine parses inputs into an Abstract Syntax Tree (AST). While the grid evaluates expressions client-side for instant feedback, developers can also export the AST for server-side processing, eliminating boilerplate and accelerating workflows.&lt;/p&gt;

&lt;p&gt;To make authoring seamless, the engine comes with an intuitive Expression Input Component. Your end users get a familiar, spreadsheet-like typing experience, and developers don't have to write any custom UI code. &lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Expression Filtering Done Right&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
Building traditional UIs for multi-condition filters is challenging for developers to maintain and can be tedious for end users to use.&lt;/p&gt;

&lt;p&gt;Instead of forcing users to click through endless, convoluted "AND/OR" dropdowns, LyteNyte Grid’s Advanced Expression Filter solves this by letting users type complex, logic-based queries directly.&lt;/p&gt;

&lt;p&gt;These expression-based filters scale naturally with complexity, eliminating the need for developers to build convoluted custom filter components. Since LyteNyte Grid’s expression engine is so flexible, developers can create virtually any expression language, including ones that users may already be familiar with.&lt;/p&gt;

&lt;p&gt;&lt;u&gt;&lt;strong&gt;Extensions For The Win&lt;/strong&gt;&lt;/u&gt;&lt;br&gt;
LyteNyte Grid’s expression engine is built on a plugin-based architecture. At its core, it supports simple mathematical calculations. However, its capabilities can be extended through plugins to include custom identifiers, functions, and operators. &lt;/p&gt;

&lt;p&gt;To accelerate development, LyteNyte Grid also provides a standard set of plugins that enable a JavaScript-like expression language out of the box, helping developers get started quickly while still allowing full customization.&lt;/p&gt;




&lt;h2&gt;
  
  
  Cell Range Selection &amp;amp; Clipboard Available for Free
&lt;/h2&gt;

&lt;p&gt;We’re tearing down the paywall and officially moving &lt;a href="https://www.1771technologies.com/docs/cell-selection" rel="noopener noreferrer"&gt;Cell Range Selection&lt;/a&gt; and &lt;a href="https://www.1771technologies.com/docs/export-clipboard" rel="noopener noreferrer"&gt;Clipboard&lt;/a&gt; from LyteNyte Grid PRO to LyteNyte Grid Core. That means these highly requested features are now fully open-source and completely free.&lt;/p&gt;

&lt;p&gt;We have zero interest in offering a "lite" or “hobbled” version of our open-source grid. With this shift, LyteNyte Grid Core takes the undisputed title of the most feature-rich open-source data grid on the market. &lt;br&gt;
While the other grids lock essential tools like &lt;a href="https://www.1771technologies.com/docs/client-source-row-grouping" rel="noopener noreferrer"&gt;Row Grouping&lt;/a&gt;, &lt;a href="https://www.1771technologies.com/docs/row-detail" rel="noopener noreferrer"&gt;Row Master Detail&lt;/a&gt;, and &lt;a href="https://www.1771technologies.com/docs/cell-selection" rel="noopener noreferrer"&gt;Cell Range Selection&lt;/a&gt; behind paywalls, we’re handing you the keys.&lt;/p&gt;

&lt;p&gt;The 1771 Technologies team is committed to building the best open-source data grid on the web. Period.&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Steps: All Roads Lead To 3.0
&lt;/h2&gt;

&lt;p&gt;We’ve barely scratched the surface of what AI can do for your grids, and our pipeline is already packed with updates. Behind the scenes, the engineering team is already deep into building LyteNyte Grid 3.0.&lt;/p&gt;

&lt;p&gt;We won't use a tired corporate cliché like "game-changing," but let's just say the gap between us and the competition is about to become a canyon.&lt;/p&gt;

&lt;p&gt;If there is a feature you have in mind? Let us know on &lt;a href="https://github.com/1771-Technologies/lytenyte" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, or check out our &lt;a href="https://www.1771technologies.com/demo" rel="noopener noreferrer"&gt;live demo&lt;/a&gt; for more.&lt;/p&gt;

&lt;p&gt;Give LyteNyte Grid a go, it’s one NPM install away&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install @1771technologies/lytenyte-core&lt;/code&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Get Started Now
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.1771technologies.com/demo" rel="noopener noreferrer"&gt;Try the interactive demo&lt;/a&gt;. See LyteNyte Grid PRO in action.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.1771technologies.com/pricing" rel="noopener noreferrer"&gt;Compare license plans&lt;/a&gt;. Choose the right fit for your team.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or start building with the free LyteNyte Grid Core edition. It’s open-source, memory-efficient, and ready to drop into your next React project.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>webdev</category>
      <category>opensource</category>
      <category>react</category>
    </item>
    <item>
      <title>Official Release of LyteNyte Grid Version 2.0</title>
      <dc:creator>RoarLyte</dc:creator>
      <pubDate>Tue, 17 Mar 2026 12:56:21 +0000</pubDate>
      <link>https://dev.to/roarlyte_1771/official-release-of-lytenyte-grid-version-20-42o1</link>
      <guid>https://dev.to/roarlyte_1771/official-release-of-lytenyte-grid-version-20-42o1</guid>
      <description>&lt;h2&gt;
  
  
  100% Stateless. The Way Data Grids &amp;amp; Data Tables Should Work
&lt;/h2&gt;

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

&lt;p&gt;LyteNyte Grid 1.0 dropped with a ~40kb bundle size, headless or pre-styled modes, a declarative API, 150+ features, and lightning-fast performance.&lt;/p&gt;

&lt;p&gt;However, like every React data grid in existence, its design still led developers to write code using the dreaded useEffect or similar effect handlers, particularly when syncing state with URL params. While LyteNyte Grid 1.0 is less opinionated than other data grid libraries, it still enforces opinionated structures for sort, filter, and group models, creating friction when your data source doesn’t fit our mold.&lt;/p&gt;

&lt;p&gt;These problems aren’t unique to LyteNyte Grid. Our competitors ignore them; some call them “features”, but every data grid hits this wall. Until today! LyteNyte Grid 2.0 is the only grid that fully solves them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s New in LyteNyte Grid 2.0?
&lt;/h2&gt;

&lt;p&gt;Great developer experience means the data grid gets out of your damn way. So, LyteNyte Grid 2.0 has gone 100% stateless and fully prop-driven. Meaning you can configure it declaratively from your state, whether it’s URL params, server state, Redux, or whatever else you can imagine.&lt;/p&gt;

&lt;p&gt;Statelessness is not the only improvement. LyteNyte Grid 2.0 is stacked with improvements:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitless API Extensions&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Extend API and column definitions with your own properties and methods &lt;/li&gt;
&lt;li&gt;100% type-safe, naturally&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Hybrid Headless Mode&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Sensible default child configuration&lt;/li&gt;
&lt;li&gt;Up to 90% less boilerplate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Native Tree Data&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Directly supports object-based data&lt;/li&gt;
&lt;li&gt;Deep nesting works out of the box&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Brand New Components&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Standalone Smart Select, Tree View, Menus, Dialogs&lt;/li&gt;
&lt;li&gt;Utilities to cut boilerplate&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Featherweight Bundle Size&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PRO: 40kb (down 18% from 49kb)&lt;/li&gt;
&lt;li&gt;Core: 30kb (down 14% from 35kb)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Heavy-Hitting New Features&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Post-group filters, pivot grand totals, resizable column groups&lt;/li&gt;
&lt;li&gt;Row tree collapsing and advanced label filtering&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Improved Documentation&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;+130 guides that cover real-world scenarios&lt;/li&gt;
&lt;li&gt;Live demos, detailed code explanations&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you need a free, open-source data grid (Core) or are shipping enterprise-scale applications that demand advanced features and support (PRO), LyteNyte Grid 2.0 has you covered.&lt;/p&gt;




&lt;h2&gt;
  
  
  Limitless API Extensions
&lt;/h2&gt;

&lt;p&gt;LyteNyte Grid 2.0 now supports virtually unlimited extensibility because we acknowledge that only you understand your business logic best.&lt;/p&gt;

&lt;p&gt;You can now extend the Grid API and column definitions with your own custom properties and methods, &lt;strong&gt;all fully type-safe&lt;/strong&gt;. Instead of making you rebuild your app around our ego, we designed the grid to fit your architecture.&lt;/p&gt;




&lt;h2&gt;
  
  
  Hybrid Headless Mode
&lt;/h2&gt;

&lt;p&gt;LyteNyte Grid 1.0 is fully headless. LyteNyte Grid 2.0 keeps that power and remains headless, but now provides a sensible default child configuration. This lets you get up and running quickly without writing the ‘Mount Everest’ of boilerplate.&lt;/p&gt;

&lt;p&gt;Developers can now simply write:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt; &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="nx"&gt;props&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Instead of:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Root&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Viewport&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Header&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;headerRows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;row&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;HeaderRow&lt;/span&gt; &lt;span class="na"&gt;key&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;headerRowIndex&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;i&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
            &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;row&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
              &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;kind&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;group&lt;/span&gt;&lt;span class="dl"&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;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;HeaderGroupCell&lt;/span&gt; &lt;span class="p"&gt;/&amp;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;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;HeaderCell&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;;&lt;/span&gt;
            &lt;span class="p"&gt;})&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
          &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;HeaderRow&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="p"&gt;})&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Header&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;

    &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;RowsContainer&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;RowsCenter&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;rows&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;row&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;row&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;kind&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;full-width&lt;/span&gt;&lt;span class="dl"&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;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;RowFullWidth&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;;&lt;/span&gt;
          &lt;span class="k"&gt;return &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Row&lt;/span&gt; &lt;span class="na"&gt;row&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;row&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt; &lt;span class="na"&gt;key&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;row&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
              &lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;row&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;cells&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;c&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="p"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Cell&lt;/span&gt; &lt;span class="p"&gt;/&amp;gt;&lt;/span&gt;
              &lt;span class="p"&gt;))&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
            &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Row&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="p"&gt;);&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;RowsCenter&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;RowsContainer&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Viewport&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nc"&gt;Grid&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Root&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Native Tree Data
&lt;/h2&gt;

&lt;p&gt;Tree Data got completely reworked in LyteNyte Grid 2.0. Instead of forcing array-based path structures, the grid now works directly with &lt;strong&gt;object-based data&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;We ditched “Tree Data Mode”. Most tree-data needs were already handled by the standard client grid, yet most grids force you to flatten nested objects into array paths just to render a hierarchy. We don’t.&lt;/p&gt;

&lt;p&gt;LyteNyte Grid works directly with your nested object data, so it can render and edit deep hierarchies natively.&lt;/p&gt;




&lt;h2&gt;
  
  
  Brand New Components
&lt;/h2&gt;

&lt;p&gt;LyteNyte Grid 2.0 ships with a high-performance component suite you can run with the grid or use independently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smart Select:&lt;/strong&gt; Component for combobox or multi-chip selection.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tree View:&lt;/strong&gt; Built as a grid variant for specialized hierarchies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Menus &amp;amp; Dialogs:&lt;/strong&gt; Fully functional context menus and a general-purpose dialog component.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Since we dislike repetitive setup as much as you do, we’ve also shipped utility components and helpers that minimize grid-related boilerplate.&lt;/p&gt;




&lt;h2&gt;
  
  
  Featherweight Bundle Size
&lt;/h2&gt;

&lt;p&gt;We tightened the codebase to make LyteNyte Grid 2.0 significantly faster and lighter, even with the new features.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Core (Free Edition):&lt;/strong&gt; 30kb gzipped (Down from 35kb).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pro (Commercial Edition):&lt;/strong&gt; Under 40kb gzipped (Down from 49kb).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Less code. More power.&lt;/p&gt;




&lt;h2&gt;
  
  
  Heavy Hitting New Features
&lt;/h2&gt;

&lt;p&gt;DX wasn’t the only upgrade. We loaded 2.0 with a wide range of new features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Post-group filters&lt;/li&gt;
&lt;li&gt;Row group tree collapsing&lt;/li&gt;
&lt;li&gt;Resizable column groups&lt;/li&gt;
&lt;li&gt;Label filtering&lt;/li&gt;
&lt;li&gt;Grand total rows for pivot mode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;And a hell of a lot more.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Improved Documentation
&lt;/h2&gt;

&lt;p&gt;We know developers don’t want to read documentation, mostly because docs are typically awful. That’s why we fixed ours. We didn’t merely wish you luck and automatically generate an API reference.&lt;/p&gt;

&lt;p&gt;We wrote 130+ in-depth guides, each with thorough explanations, real-world demos, and code examples. Everything you would need to get productive with LyteNyte Grid fast.&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Steps: Beyond The Opening Act
&lt;/h2&gt;

&lt;p&gt;This is only the beginning for us. LyteNyte Grid 2.0 has been significantly shaped by feedback from existing users, and we’re grateful for it. We have a steady slate of features planned, including rollout headers, advanced expression filters, and more.&lt;/p&gt;

&lt;p&gt;If there is a feature you have in mind? Let us know on &lt;a href="https://github.com/1771-Technologies/lytenyte" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, or check out our &lt;a href="https://www.1771technologies.com/demo" rel="noopener noreferrer"&gt;live demo&lt;/a&gt; for more.&lt;/p&gt;

&lt;p&gt;Give LyteNyte Grid a go, it’s one NPM install away&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; @1771technologies/lytenyte-core
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Get Started Now
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.1771technologies.com/demo" rel="noopener noreferrer"&gt;Try the interactive demo&lt;/a&gt;. See LyteNyte Grid PRO in action.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.1771technologies.com/pricing" rel="noopener noreferrer"&gt;Compare license plans&lt;/a&gt;. Choose the right fit for your team.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or start building with the free LyteNyte Grid Core edition. It’s open source, memory efficient, and ready to drop into your next React project.&lt;/p&gt;

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