Accessibility Is Business-Critical in the Age of AI Agents

Your Checkout Flow Isn't Broken for Humans Only. It's Broken for the Agents Shopping for Them.

Chrome's auto browse scrolls, clicks, and types on its own. ChatGPT Atlas navigates tabs and helps complete purchases. Perplexity Comet researches across pages and fills forms. These tools are already handling real user intent on real websites.

None of them experience your site the way a person does. They do not admire your gradient hero or infer meaning from pixel-perfect spacing. They read structure: roles, names, states, landmarks, and focus order. That structure is the accessibility tree, and it is rapidly becoming the API your business runs on when AI acts on behalf of customers.

If your interface is inaccessible, it is not merely harder for screen reader users. It is increasingly opaque to the agents your customers are already delegating to.

How Agents Actually Parse a Page

The industry is converging on a small set of patterns.

Vision-first agents like Anthropic's Computer Use interpret screenshots and estimate where to click. This works until a layout shifts, a modal overlaps content, or two buttons look identical in the crop. It is expensive and brittle.

Accessibility-tree agents read a semantic snapshot: buttons, links, fields, headings, landmarks. Microsoft's Playwright MCP exposes exactly this kind of structure. OpenAI states that ChatGPT Atlas uses ARIA tags and the same labels and roles that power screen readers. Publishers are explicitly directed to follow WAI-ARIA best practices.

Hybrid agents combine both. Google's Project Mariner and OpenAI's computer-using stack observe visuals and underlying structure before planning the next action.

The direction is clear. Even vision-heavy systems are pulling in accessibility data. The platforms optimizing for speed and reliability lead with the tree.

Your accessibility tree is no longer a compliance appendix. It is the primary contract between your application and whatever system is trying to complete a task on a user's behalf.

Why the Tree Wins (and What Happens When It Lies)

A production DOM can contain thousands of nodes. The accessibility tree keeps what matters: what you can activate, what it is called, and how the page is organized. For models working inside tight context windows, that compression is not a nice-to-have. It is the difference between a plan and a guess.

Research presented at CHI 2026 (the A11y-CUA work from UC Berkeley and the University of Michigan) stress-tested Claude Sonnet 4.5 on everyday desktop and web tasks under three conditions: normal use, keyboard-only navigation, and a magnified viewport. The gaps were large:

Condition Task success Relative time
Standard ~78% baseline
Keyboard-only ~42% ~2× longer
Magnified viewport ~28% ~3×+ longer

Keyboard-only access is not a laboratory curiosity. Tree-based agents identify and activate elements through the same semantics keyboard users depend on. When roles are missing, labels are placeholders, or focus traps dead-end, humans and agents both stall, retry, and abandon.

Accessible interfaces publish intent. Inaccessible interfaces force inference.

The Practices That Matter in an Agentic World

You have heard most of this before. That is the point. Agent readiness is not a parallel standard. It is accessibility done honestly.

Use semantic HTML for real

Native elements arrive in the tree with role, name, and behavior intact.

<!-- An agent can find, name, and activate this -->
<button type="submit">Complete Purchase</button>

<!-- An agent must infer role and purpose from class names and layout -->
<div class="btn btn-primary" onclick="handleSubmit()">Complete Purchase</div>

Landmarks matter for orientation:

<header>
  <nav aria-label="Main navigation">
    <ul>
      <li><a href="/products">Products</a></li>
      <li><a href="/pricing">Pricing</a></li>
    </ul>
  </nav>
</header>

<main>
  <h1>Checkout</h1>
  <form aria-labelledby="shipping-heading">
    <h2 id="shipping-heading">Shipping address</h2>
    <!-- fields -->
  </form>
</main>

A page built from anonymous <div> shells gives agents no map. A page built from landmarks and headings gives them an outline.

Label every interactive control

Agents bind user intent to fields by accessible name, not by visual proximity.

<!-- Good -->
<label for="email">Email address</label>
<input type="email" id="email" name="email" autocomplete="email">

<!-- Bad: placeholder is not a name -->
<input type="email" placeholder="Enter your email">

Icon-only controls need explicit names:

<button aria-label="Add to cart">
  <svg class="icon-cart" aria-hidden="true"></svg>
</button>

In a multi-step checkout, "Submit" on step three and "Submit" on step four are indistinguishable without context. Be specific: "Place order", "Continue to payment", "Apply coupon".

Use ARIA sparingly and correctly

The first rule of ARIA is to prefer native HTML. role="button" on a <div> does not grant focus management, keyboard activation, or disabled state handling. ARIA annotates gaps; it does not repair wrong elements.

Where ARIA earns its keep: dynamic regions and custom widgets with no native equivalent.

<div aria-live="polite" aria-atomic="true">
  <p>3 results found</p>
</div>

<button aria-expanded="false" aria-controls="details-panel">
  Show Details
</button>
<div id="details-panel" hidden>
  <!-- panel content -->
</div>

Without aria-expanded, an agent may toggle a panel, see no obvious visual change if content is below the fold, and conclude the control is broken.

Ship meaningful HTML before JavaScript runs

Many agents execute JavaScript; many crawlers and indexers do not. Critical prices, availability, and CTAs that exist only after a client-side fetch are invisible to a growing share of automated traffic.

Server-rendered or statically generated HTML puts facts in the document from the first byte. That helps agents, search systems, and anyone else that will not wait for your bundle to hydrate.

Where Component Libraries Fit: jQWidgets and Smart.UI

Enterprise UIs are rarely built from raw HTML alone. Data grids, schedulers, Gantt charts, and complex pickers are exactly the controls agents struggle with when implemented as one-off custom widgets with incomplete semantics.

This is the problem jQWidgets and Smart.UI were built to solve at scale: rich interaction without sacrificing the structure agents and assistive technologies require.

jQWidgets: accessibility baked in, not bolted on

jQWidgets ships 180+ high-performance components for Angular, React, Vue, Blazor, and JavaScript, with built-in WAI-ARIA enabled by default. Initialize a slider and the library applies the roles and properties from W3C widget design patterns automatically:

<div id="slider" role="slider"
     aria-valuenow="5" aria-valuemin="0" aria-valuemax="10"
     aria-disabled="false" tabindex="0">
</div>

That is not documentation theater. It is the same attribute surface Playwright-style snapshots and screen readers consume. jQWidgets also provides keyboard support across widgets, RTL for international layouts, and a WCAG 2.0 AAA high-contrast theme for low-vision users. Recent releases have pushed accessibility further: improved focus management, more consistent ARIA across the catalog, and keyboard paths aligned with WCAG expectations.

For teams maintaining long-lived enterprise apps, the lesson is practical: a complex grid or scheduler does not have to be an accessibility dead zone if the component layer publishes correct roles, values, and focus behavior from day one.

Smart.UI: Web Components, standards, and the agent stack on both sides

Smart.UI is the evolution of that enterprise work: a framework-agnostic library of 70+ Web Components built on Custom Elements and modern ECMAScript, with WAI-ARIA 1.1, WCAG, and Section 508 compliance tested via Lighthouse and browser accessibility inspectors. Components follow authoring practices: menus expose role="menu" and role="menuitem", form controls wire aria-label and described-by relationships, and keyboard shortcuts match documented patterns (arrows, Enter, Space, Escape, Tab order).

Smart.UI is what you want when you are building once and deploying across Angular, React, Vue, and Blazor without re-implementing accessibility per framework adapter.

The agent story does not stop at the browser boundary. Smart.UI ships an MCP server for AI-assisted development (smart-mcp), with categorized prompts for Grid, Scheduler, Gantt, Chart, Tree, Menu, and more, including explicit accessibility (a11y) workflows: ARIA labels, keyboard navigation, and screen reader support in generated examples. Developers using Cursor, VS Code, or Zed can ask a coding agent to scaffold a virtualized grid or checkout scheduler and inherit the component library's semantic contract instead of inventing fragile custom markup.

That is a useful symmetry: accessibility-tree agents navigate your production UI; MCP-connected coding agents help you build that UI with the same standards in mind from the first prompt.

Choosing between them (and when both appear together)

jQWidgets Smart.UI
Architecture Mature multi-framework suite; jQuery heritage where needed Native Web Components; zero framework lock-in
Accessibility WAI-ARIA on by default; keyboard + RTL + high-contrast theme WAI-ARIA 1.1, WCAG, Section 508; per-component a11y docs
Best for Large existing jQWidgets/Angular/React/Vue estates Greenfield or migration to standards-based custom elements
Agent angle Predictable tree from battle-tested widgets Same, plus MCP for generating accessible Smart UI code

National Instruments, Microsoft, Intel, Boeing, and thousands of other teams already bet on this stack for demanding interfaces. The same properties that made grids and schedulers usable in engineering tools and admin consoles are what make those screens legible to the next generation of automated clients.

How to Audit for Agent Readiness (Without New Tooling)

Inspect the accessibility tree. In Chrome DevTools, open Elements → Accessibility. Walk your highest-intent flow (checkout, signup, booking). At each step, ask: can I name the next control and its purpose from the tree alone? If not, fix that before tuning prompts.

Run automated scans. Missing labels, empty buttons, skipped heading levels, and absent alt text are the structural failures that break agents first. Start with conversion paths, not the marketing homepage.

Keyboard-only the full flow. Tab through every step. Confirm focus order, visible focus rings, and no mouse-only traps. Keyboard paths are how tree-led agents often operate.

Audit headings. One logical h1, no skipped levels, labels that describe the section beneath them. Headings are the table of contents in the snapshot an agent reasons over.

Stress-test custom widgets. If you use a component library, verify each control in the tree: name, role, value, expanded/checked/disabled state. Library defaults are only as good as your configuration (labels, aria-labelledby, live regions for async updates).

Why This Is a Now Problem

Auto-browse, AI browsers, and MCP-driven automation are shipping features, not research demos. They are already a slice of your traffic.

What is different from past "optimize for X" cycles is that the hard work is finished. Semantic HTML, proper labeling, keyboard contracts, and ARIA used with restraint are not new ideas. The accessibility community defined them for people. It turns out people were never the only consumers of a well-structured page.

Every native <button> you choose over a styled <div>, every real <label>, every landmark and heading you respect, compounds across interfaces we have not imagined yet: screen readers today, shopping agents tomorrow, and whatever reads the tree after that.

jQWidgets and Smart.UI exist because enterprise teams could not afford to relearn those lessons on every grid, chart, and scheduler. The web does not need a second accessibility standard for AI. It needs the first one implemented consistently, at scale, in the components where applications actually live.

The future is not asking you to retrofit a parallel web for machines. It is asking whether the structure you should have built for humans is finally in place when an agent arrives to complete the purchase.

Build for people. The agents were always listening to the same tree.

Uncategorized

Leave a comment

The real cost of free UI kits: Community vs Enterprise licensing decoded

Engineering orgs are shipping faster than ever, and a growing share of that speed comes from AI-assisted coding: autocomplete, chat-driven refactors, and generated integration code that drops new packages into the repo almost frictionlessly. The first pull request looks like a win - until, months later, the same organization is maintaining someone else’s abstraction with no vendor to call, no security commitment you can audit as a contract, and no one who is responsible when production breaks or a disclosure lands.

This article argues that the long-term problem is not “open source versus commercial” in the abstract. It is unowned dependency risk: stacks assembled from convenient, no-invoice libraries that were never matched to support, upgrade policy, or incident ownership. Over a multi-year horizon that pattern routinely increases time-to-market, because velocity shifts from feature work to triage, patching, and re-integration every time the framework, browser, or security bar moves.

We still decode Community versus Enterprise licensing - because legal scope and feature gating matter - but we ground that discussion in how teams ship today: AI magnifies adoption; it does not magically supply accountability. We then use our Smart UI component library as a concrete example of a clearly documented split between Community use and commercial production tooling, support, and updates. A comparison table for engineering and legal follows (use the expand control on narrow screens).

The AI acceleration trap: more libraries, no one on the hook

Assistants are excellent at suggesting imports, scaffolding glue code, and “fixing” build errors by adding yet another package. They are not accountable for your roadmap in 2028. The predictable failure mode looks like this:

  • Volume without vetting. Dependencies enter the codebase because the shortest path compiled on a laptop, not because procurement, security, or architecture signed off on a maintenance model.
  • No support relationship. Many community projects are maintained by volunteers or thinly staffed teams. That is not a moral judgment - it is a capacity fact. There is no ticket you can escalate when a zero-day or a breaking React release intersects with your release train.
  • Responsibility collapses inward. When the upstream is silent or slow, the obligation lands on your engineers - who also own product features, migrations, and on-call.

The organization still expects the same SLAs and security posture; it has simply traded a line item on a vendor invoice for an unpriced line item on every sprint thereafter.

When “we will just patch it” eats the roadmap

Once a critical screen depends on a library that cannot keep pace, teams reach for local workarounds: fork the repo, patch node_modules with post-install hacks, wrap internals that were never a stable API, or carry a vendored copy. Each shortcut buys days and costs quarters.

  • Upgrade tax. Every framework bump becomes a bespoke merge project. The “free” library is now a permanent internal subsystem.
  • Knowledge silos. Only the engineer who wrote the patch understands the invariant; bus factor drops just when reliability matters most.
  • Slower time-to-market - despite AI. Short-term generation speed is erased by long-term integration drag. The team is busy being the unpaid maintainers of UI infrastructure instead of shipping differentiated product.

That is the paradox leadership teams miss: automation that accelerates code output does not reduce operational ownership. If anything, it spreads ownership across more third-party surface area.

Security needs a clear owner, not just a license file

Compliance frameworks and customers increasingly ask who remediates, how fast, and how you prove it. A permissive SPDX string answers licensing; it does not answer incident response. Community stacks often lack:

  • Assured patch channels for vulnerabilities in complex client-side code (grids, editors, parsers).
  • Coordinated disclosure handling aligned to your contractual obligations.
  • Long-term compatibility commitments across major browser and framework releases - exactly where UI kits fracture first.

Enterprise procurement exists partly to buy accountability: a counterparty, a support queue, and a renewal discussion that forces both sides to plan upgrades. That is not romantic, but it is measurable - whereas “we hope someone merges the PR” is not a control you can put in a SOC narrative.

Why licensing still belongs in the same conversation

Licensing encodes what you are allowed to do; support encodes who will help when reality disagrees with the README. Together they define the real cost model. Three layers still matter:

  • Public license text - redistribution, modification, attribution, and any copyleft triggers.
  • Commercial terms - which environments and widgets are covered, how developers scale, what happens after year one.
  • Operational reality - upgrades, security, and whether your team is about to become the accidental maintainer of a grid.

A kit that feels “cheap” in a spike can still become expensive if production rights, advanced components, or brand rules collide with the Community tier - or if you end up owning the fork forever.

Licensing dimension Typical Community / free Typical Enterprise / paid Smart UI (this product) Verify before ship
Production deployment Often limited to personal use, learning, evaluation, or non-production / prototype contexts Explicit rights for production apps and customer-facing tenants Our Community tier is described for personal, educational, and evaluation use, with non-production or prototype applications called out on the license page Confirm your environment (internal vs SaaS) against the current agreement - not only the README
Advanced data & visualization May omit high-throughput grids, scheduling, Gantt, pivot, or deep charting Full professional catalog, templates, and sometimes source or theme tooling Published summary: Grid, Scheduler, Charts, and related advanced components require a commercial license; see Community vs Enterprise Map every must-have widget to the edition before UX sign-off
Attribution & distribution May require visible credit, notice files, or other brand constraints Usually fewer redistribution strings; still read the EULA Our Community license summary includes attribution in distributed applications (pricing / license overview) Run past marketing and legal if you ship binaries or white-label products
Support & SLAs Forums, docs, community issues - no guaranteed response time Paid channels, renewal terms, sometimes enterprise SLAs Community: forum and documentation support; commercial tiers add professional support options per pricing Decide who owns pager-duty for UI regressions after launch
Developer scaling Often unspecified or single-seat assumptions Per developer, team packs, or company-wide unlimited SKUs Commercial line-up includes Developer, Team, Unlimited, and custom Enterprise options - headcount matters Model cost if your contributing developer count doubles next year
Security & incident ownership Best-effort maintainer bandwidth; disclosure timelines vary; you may wait on volunteer availability Vendor remediation paths, coordinated updates, and support channels you can reference in reviews Community relies on forum/documentation support; commercial tiers add professional support and product updates per published pricing Ask how a Sev-1 in a complex widget gets patched in your contract window - not how it looks in a demo
Long-term maintenance Risk of internal forks, local patches, and “we own the upgrade” work that competes with product delivery Vendor bears much of the compatibility and release cadence burden for the licensed catalog Commercial edition targets teams that need the full professional component set (e.g. Grid) without becoming the unpaid maintainers of that stack Measure not only sprint zero, but the cost of the next major React or enterprise browser policy change

What “Community” usually means in practice

Community editions are legitimate on-ramps: they lower the cost of evaluation and training. In an AI-heavy workflow they are also the tier most likely to be adopted accidentally - because tooling optimizes for “works on my machine,” not for who patches the next CVE. They are rarely identical to the commercial product in legal rights or feature depth. Patterns we see across the market include:

  • Scope limits - personal, educational, or evaluation-only language; or explicit non-production / prototype allowances.
  • Widget gating - enterprise grids, schedulers, pivot engines, and rich charting reserved for paid SKUs.
  • Attribution - credit lines or notice bundles in shipped apps.
  • Support shape - self-service and forums versus named support with response targets.

None of that makes Community editions “bad.” It means the boundary should be explicit in your architecture review - not discovered during a compliance pass.

What Enterprise is really buying

Paid tiers bundle more than pixels. Teams are usually purchasing risk transfer back out of the application team:

  • Production clarity - rights that match how and where you deploy, without surprise attribution or scope clauses at GA.
  • Advanced components - the parts of the catalog that Community does not cover, so you are less tempted to fork or wrap unstable internals.
  • Named support and renewals - a counterparty when releases, accessibility law, or browser policy moves underneath you.
  • Seat math - licenses that still fit after hiring, instead of informal “everyone uses the same key” debt.

When comparing vendors, normalize quotes on covered developers, renewal mechanics, major-version upgrades, and source / theme tooling - and on who owns the grid when it fails at 2 a.m. Headline price alone is easy to misread.

License families: a quick decoder

  • Permissive (MIT, BSD, Apache 2.0) - broad reuse; still read any additional vendor terms that apply to specific packages or trials.
  • Copyleft (GPL, AGPL) - can impose obligations on distribution or, for AGPL, networked deployment; involve counsel when in doubt.
  • Commercial + trial - full features until a key expires; watch for trial artifacts in staging or CI.

Procurement and security may also weigh third-party notices, export controls, and data flows through AI-assisted features. A model that confidently cites a license string is still not a substitute for human review of the actual dependency graph - especially when new packages appear several times a week.

Smart UI: how we document Community vs commercial

We publish both a Licensing and Pricing page and a Community and Enterprise comparison in our documentation, so the line between “try and learn” and “ship under a production license” is explicit - not something you have to infer from a chat transcript. For React, start from Smart UI for React; the npm package name we document there is smart-webcomponents-react.

Community (as summarized on our license page): priced at $0; oriented toward personal, educational, and evaluation use; non-production or prototype applications; community support via forum and documentation; attribution required in distributed applications; and advanced components such as Grid, Scheduler, and Charts called out as requiring a commercial license.

Commercial: Developer, Team, Unlimited, and custom Enterprise offerings bundle the professional catalog, support, and scaling options described on the same pricing page. Numbers and promotions change; use the live site when you build a budget. The point here is not a feature tour - it is that we stand behind the professional tier with product updates and commercial support options, which ad hoc stacks of AI-suggested dependencies typically do not offer.

Practical takeaway: if your roadmap depends on a production-grade Grid or comparable enterprise widgets, plan the commercial path early so you are not training the organization to maintain a one-off fork. If you are in a prototype-only phase, Community may fit - provided you honor attribution and scope rules as written and you do not let AI-assisted integration quietly expand into production use without the right license.

Decision checklist before you standardize

  1. Human gate on AI-suggested deps - Has a staff engineer or architect explicitly approved maintenance and incident ownership - not only “it passed CI”?
  2. Environment - Will this ship to production tenants or stay in demos?
  3. Critical widgets - Does the free tier legally and technically include every control on the critical path?
  4. Legal source of truth - Have you read the vendor license page, not only the package keyword on npm?
  5. Security story - Who patches the next client-side vulnerability, and on what timeline can you defend that answer to security or customers?
  6. Fork policy - Under what conditions are local patches allowed, and who merges upstream forever?
  7. Operations - Who supports regressions after launch: vendor queue or your feature team?
  8. Growth - Do seats still work if the team doubles?

Wrap up

AI tools compress the typing phase of software delivery. They do not remove the ownership phase: security, upgrades, compatibility, and the slow grind of maintaining dependencies that no one is contractually obligated to fix for you. When teams compensate by patching open-source UI code inside product repositories, they often discover that time-to-market gets worse, not better, as soon as the product must evolve under real governance.

“Free” UI kits can still be the right choice for learning, prototypes, and carefully bounded internal use. The real cost shows up where those boundaries end: production rights, advanced widgets, attribution, and whether you have an accountable partner when the stack moves. If Smart UI is on your shortlist, we invite you to start with our docs and demos, match the edition to your environment, and upgrade to commercial when production grids, scheduling, and support requirements make that the honest fit.

Disclaimer: This blog post summarizes our publicly posted licensing descriptions and is not legal advice. Confirm the current agreement on htmlelements.com/license and involve counsel for your situation.

Finally, an Easier Way to Share Secure Excel Reports

If you work with spreadsheets every day, you already know the problem.

You export a report, send it to a colleague, client, or manager… and a few hours later someone accidentally edits a formula, changes a number, or saves over the original file.

Now everyone is looking at different versions of the same report.

It happens all the time.

That’s exactly why the new Excel Protected View export feature in Smart Data Grid matters.

Instead of exporting a regular spreadsheet and manually locking it down afterward, users can now export Excel files that are already protected from the moment they’re downloaded.

Even better, teams can decide whether they want the file protected with or without a password.

Simple feature. Huge difference.

Built for the Way Teams Actually Share Data



Most companies still rely heavily on Excel.

Finance teams send reports every week. Operations teams export dashboards. Analysts share KPI summaries. Agencies send client reports. Managers forward spreadsheets between departments.

The problem isn’t exporting the data.
The problem starts after the export.
Once a spreadsheet leaves the system, there’s usually very little control over what happens next.

Files get edited.
Formulas break.
Rows disappear.
Versions multiply.
Sensitive data gets shared too freely.

Smart Data Grid helps solve that by giving users more control before the file ever leaves the platform.

What the Feature Does


When exporting data from Smart Data Grid to Excel, users can now choose one of the following options:

  • Export in Protected View
  • Export in Protected View with a password
  • Export as a standard editable Excel file

That flexibility is important because not every report needs the same level of protection.

Sometimes you just want to stop accidental edits.
Other times you’re dealing with confidential financial or operational data that should only be opened by specific people.

Now both options are built directly into the export process.

Protected View Without the Extra Friction



One of the best things about this feature is how practical it feels.

A lot of security tools add extra complexity.
This one doesn’t.

If someone simply wants to share a read-only report internally, they can export the file in Protected View without adding a password.

That means:

  • The report stays clean
  • Key formulas remain untouched
  • Accidental edits are avoided
  • Teams see consistent information
It’s especially useful for:
  • Weekly reporting
  • Executive summaries
  • Operational dashboards
  • Internal reviews
  • Shared analytics reports

Sometimes the goal isn’t heavy security.
It’s simply preventing mistakes.

That alone saves teams a surprising amount of time.

Optional Password Protection for Sensitive Data

Of course, some reports need stronger protection.

That’s where password-protected exports come in.

When working with confidential information, users can add a password during export so only approved recipients can open the Excel file.

This is particularly valuable for industries that deal with sensitive or regulated data, including:

  • Finance
  • Healthcare
  • Insurance
  • Legal
  • Enterprise IT


Instead of relying on employees to manually secure spreadsheets later, the protection happens automatically during export.
That reduces risk and removes extra steps from the workflow.

Why This Matters More Than People Think



On paper, protecting an Excel export might sound like a small feature.

In reality, it solves a very real business problem.

A lot of operational issues start with spreadsheet mistakes.

Not because people are careless - but because spreadsheets move fast inside organizations.

Files get downloaded, renamed, edited, forwarded, duplicated, and re-uploaded constantly.

Adding built-in protection directly into Smart Data Grid helps companies maintain cleaner reporting processes without slowing anyone down.

And that balance matters.

The best security features are the ones people naturally adopt because they fit into existing workflows.

A Better Experience for End Users



Another reason this feature works well is because it feels natural inside the workflow.

Users don’t need technical knowledge.
They don’t need to configure Excel manually.
They don’t need third-party tools.

The process is straightforward:

1. Export the data
2. Choose the protection option
3. Add a password if needed
4. Download the file

That’s it.


The experience stays fast and simple, which makes adoption much easier across teams.

Real-World Scenarios Where This Helps



Financial Reports



Finance departments can share quarterly or monthly reports without worrying about formulas being accidentally changed before review.

Client Deliverables



Agencies and consulting firms can send polished Excel reports to clients while protecting calculations and internal logic.

Executive Reporting



Leadership teams often need visibility into company metrics without needing editable access.

Protected exports keep reports consistent across departments.

Internal Operations



Operations teams can safely distribute dashboards and performance reports without creating multiple conflicting versions.

Smart Features Should Solve Real Problems



There are plenty of software features that look impressive in demos but rarely help day-to-day users.

This isn’t one of them.

The Excel Protected View export feature in Smart Data Grid solves a practical issue that businesses deal with constantly.

It helps teams:

* Share reports more safely
* Reduce accidental spreadsheet errors
* Protect sensitive information
* Keep reporting consistent
* Save time on manual file protection

And because the protection is built directly into the export flow, it becomes part of the normal process instead of an extra task people forget to do.

Why Teams Will Actually Use This Feature



Excel exports are still a critical part of how businesses operate.

But exporting data shouldn’t mean losing control over it.

With Smart Data Grid’s new Protected View export options, teams can share spreadsheets with far more confidence - whether they need lightweight protection for everyday reporting or password-secured files for sensitive business data.

It’s a small workflow improvement that can prevent a lot of unnecessary problems later.

And those are usually the features people appreciate the most.
Smart Grid

Leave a comment

Best Material UI Alternatives for Building Modern React Interfaces in 2026

Material UI (MUI) has long been a go-to React UI toolkit, particularly for teams that want Google’s Material Design look out of the box. The open MIT license and the breadth of controls—from buttons and form fields to data grids and date pickers—make it easy to ship quickly. Even so, many product teams eventually evaluate alternatives when MUI’s styling model, bundle weight, or upgrade path starts to slow them down.

This article walks through what to look for in a replacement: licensing, performance, customization, and how well a library scales into dense, data-centric screens. Along the way, we call out Smart UI for React from HTMLElements—a suite built around high-performance grids, schedulers, Gantt charts, and dozens of other controls—with a free Community tier (Apache 2.0, production-ready) and a broader Enterprise offering for advanced components and commercial support.

Why Developers Look for Material UI Alternatives?

When applications grow in complexity or brand specificity, teams often run into friction such as:

  • Pressure to keep client bundles smaller and interactions snappier.
  • Stricter expectations around render performance on large lists and grids.
  • Opinionated default styles that take extra work to reshape.
  • Boilerplate or configuration that adds noise to simple tasks.
  • Deep abstraction that makes debugging or extending behavior harder.
  • Styling ergonomics that do not match the rest of the design stack.
  • Non-trivial effort when jumping between major MUI releases.
  • A shift toward utility-first CSS, headless primitives, or in-house design systems.
  • Need for richer “line-of-business” widgets without assembling everything by hand.

Note: The pain points above reflect recurring themes in community discussions, Stack Overflow threads, GitHub issues, and conversations with teams comparing enterprise UI kits.

Those constraints lead to a practical question: which React UI option balances speed, theming freedom, feature depth, and a licensing model that fits both experiments and production? Below is a compact comparison to orient your shortlist.

Here’s a condensed overview of the best options to replace MUI.

Material UI Alternatives License Performance Best For Downsides
Smart UI for React Community (Apache 2.0) + paid Enterprise Strong — aimed at large datasets, grids, and scheduling views Dashboards, operations tools, analytics-heavy React apps Full “pro” grid and several advanced widgets sit behind Enterprise
Ant Design MIT Good Enterprise UI with a polished design system Heavy CSS, opinionated styles
Chakra UI MIT Very good Highly customizable, accessible-by-default UIs Lacks advanced data components
Mantine MIT Very good Dev-friendly, modern apps needing broad UI coverage No major enterprise-grade grid
Fluent UI MIT Good Microsoft ecosystem, Office-like apps Design language not very flexible
Radix UI MIT Excellent Headless workflows, building custom design systems No styled components out-of-the-box
shadcn/ui MIT Very good Tailwind teams creating fully custom UIs Not a true component library; manual maintenance
PrimeReact MIT Good Large component suite, variety of widgets Heavy styling; inconsistent UX

Top Alternatives to Material UI

Below is a closer look at the libraries teams most often shortlist when moving away from MUI.

Smart UI for React

Browse 2000+ Smart UI demos · React Grid overview · Documentation

Smart UI for React packages a large set of production-oriented controls—think data grids, pivot-style analytics, scheduling, Gantt planning, charts, editors, and everyday inputs—behind a predictable API. The product is marketed as framework-friendly Web Components with a dedicated React layer; React 19 is supported, and installation is available via npm or Yarn using the smart-webcomponents-react package (see the getting started guide).

Smart UI is offered in two tracks. The Community edition is free under the Apache 2.0 license and is explicitly cleared for production; it focuses on 40 foundational building blocks such as Tree, Menu, and Tabs across React and other supported stacks. The Enterprise edition unlocks the full catalog—on the order of 70+ components, including the advanced grid and other premium widgets—along with commercial licensing options outlined on the license & pricing page. That split matters for roadmap planning: you can start on Community and move up when you need deeper grid or scheduling features.

Community highlights: core navigation and layout primitives (Tree, Menu, Tabs, etc.) suitable for many internal tools and customer apps without an Enterprise subscription—details on scope appear in Smart UI’s Community vs Enterprise documentation.

Enterprise highlights: high-throughput Data Grid, Scheduler, Gantt, pivot scenarios, richer charting, Kanban, docking layouts, and other controls aimed at dense operational UIs—plus professional support for organizations that standardize on the suite.

Strengths:

  • Strong fit for data-heavy React screens: sorting, filtering, editing, grouping, export, and related grid workflows are first-class.
  • Clear licensing story: Apache 2.0 Community tier for core controls; Enterprise when you need the full professional component set.
  • Accessibility positioning includes WAI-ARIA, WCAG-oriented practices, RTL, and localization hooks—see the accessibility documentation.
  • Theming through Material and Bootstrap light/dark presets, CSS variables, and the Theme Builder for custom brand alignment.
  • Web standards–oriented implementation with “zero dependencies” positioning and broad browser targeting for line-of-business apps.
  • Large demo catalog and docs for learning by example, including AI-assisted tooling described on the main Smart UI site.

Weaknesses: The most advanced grid, scheduling, and analytics-style components are tied to Enterprise licensing; Community covers a narrower slice of the catalog. Teams should confirm which widgets they need before committing.

Best for: React teams building admin consoles, monitoring dashboards, planning tools, or any experience where a fast grid or calendar/Gantt surface is central—and who want either a free Apache-licensed starting point or a full commercial suite from the same vendor.

Ant Design of React

Ant Design is Alibaba’s long-running React component system. It ships a wide surface area—forms, tables, date controls, navigation patterns, and more—and is a frequent pick when teams want an “enterprise look” without designing every pattern from scratch.

Strengths:

  • Coherent visual language that scales to large internal products.
  • Broad component coverage for typical business UIs.
  • Mature docs and a sizable ecosystem of examples and extensions.
  • Strong internationalization story for teams that ship multiple locales.

Weaknesses:

  • Bundle weight and styling opinions can be hard to trim.
  • The aesthetic can feel less “product marketing site” and more “back office,” which may clash with brand-led interfaces.
  • Some data components need careful tuning for very large datasets.
  • Adjacent tools (e.g., scaffolding kits) add concepts beyond the core library.

Best for: Enterprise and internal software groups that value a packaged design system, structured layouts, and a predictable enterprise visual style.

Chakra UI

Chakra UI emphasizes composable primitives, sensible accessibility defaults, and a straightforward styling model. It is often chosen when developers want speed without fighting a rigid theme.

Strengths:

  • ARIA-minded components and sensible focus management out of the box.
  • First-class light/dark theming and design-token style customization.
  • Documentation that encourages composition over inheritance.
  • Active maintenance and a modern React-centric API.

Weaknesses:

  • Not a complete answer for Excel-grade grids or heavy charting on its own.
  • Teams may still integrate third-party data viz or grid libraries.
  • Highly bespoke visual systems may require more wrapper components.

Best for: SaaS products, marketing-adjacent apps, and greenfield projects where accessibility and theming matter as much as time-to-first-screen.

Mantine

Mantine pairs a large React component set with hooks and a flexible styling API. It targets teams that want breadth—forms, overlays, data display helpers—without pulling in multiple niche libraries on day one.

Strengths:

  • Extensive catalog with pragmatic defaults for dashboards and apps.
  • Style APIs that make overrides predictable.
  • Good TypeScript ergonomics and readable documentation.
  • Active community contributions and frequent releases.

Weaknesses:

  • No flagship enterprise grid comparable to dedicated grid vendors.
  • Less historical presence in regulated or legacy enterprise stacks than some older suites.
  • Complex bespoke styling can still produce edge-case inconsistencies.

Best For: Startups and mid-size teams that want velocity, modern defaults, and a single library covering most UI patterns outside specialized financial grids.

Fluent UI

Fluent UI is Microsoft’s Fluent Design implementation for React. It shines when the product should feel at home next to Windows, Microsoft 365, or Teams.

Strengths:

  • Components aligned with Microsoft’s design language.
  • Solid keyboard support and accessibility work for familiar desktop patterns.
  • TypeScript-first APIs and theming tied to Fluent tokens.
  • Open source with predictable licensing for many scenarios.

Weaknesses:

  • Visual language can feel mismatched outside Microsoft-centric products.
  • Not always the fastest path for highly custom marketing experiences.
  • Community momentum is narrower than some general-purpose kits.

Best for: Line-of-business tools that extend Office workflows, or organizations standardizing on Fluent as a house style.

Radix UI

Radix focuses on unstyled, accessible primitives—dialogs, menus, tabs, and more—that you layer your own design system on top of. It is less a full visual kit and more a foundation for bespoke UI.

Strengths:

  • Strong accessibility posture and adherence to WAI-ARIA patterns.
  • Works with Tailwind, CSS Modules, styled-components, or any styling approach.
  • Tree-shakable imports keep bundles tight when used thoughtfully.
  • Excellent fit for design-system teams that own every pixel.

Weaknesses:

  • No polished visual defaults—you supply design and motion.
  • Higher upfront design and engineering investment.
  • Steep learning curve when composing many primitives together.

Best for: Product teams with in-house designers who want full control and are willing to invest in styling and documentation.

shadcn/ui

shadcn/ui popularized the “copy components into your repo” workflow: Radix under the hood, Tailwind for styling, and full source ownership in your project. It is less a hosted dependency graph and more a curated starting point.

Strengths:

  • Attractive Tailwind-based defaults with room to fork per screen.
  • Components live beside your app code, which simplifies deep customization.
  • Pairs well with modern React Server Components setups when configured carefully.

Weaknesses:

  • You—not the upstream package—own upgrades and regressions.
  • Not a turnkey enterprise grid or scheduler replacement without add-ons.
  • Large products must govern conventions so copied files do not diverge wildly.

Best For: Tailwind-native teams and design-led products where bespoke visuals matter more than an off-the-shelf theme.

PrimeReact

PrimeReact bundles a wide widget set—inputs, overlays, data views, and more—with multiple prebuilt themes. It appeals when you want breadth from a single vendor namespace.

Strengths:

  • Large inventory of ready-made widgets.
  • Multiple theme presets to get started quickly.
  • Long track record and plentiful examples.

Weaknesses:

  • Default styling can feel heavier or less “2026 minimal” than newer kits.
  • UX consistency varies slightly between component families.
  • Performance tuning may be needed for very large interactive tables.

Best For: Teams that prioritize an all-in-one widget catalog and accept more opinionated CSS in exchange for speed.

How to Migrate from Material UI to Smart UI for React

There is no one-size-fits-all migration because MUI and Smart UI organize components differently. In practice, teams usually introduce Smart UI alongside existing screens, swap the highest-value widgets first (often grids or calendars), then retire MUI imports module by module.

1. Review licensing and component coverage. Read Community vs Enterprise and pricing so you know which widgets your project requires.

2. Install the React package. Smart UI documents the npm/Yarn workflow on the React documentation hub. The published package name is smart-webcomponents-react:

npm install smart-webcomponents-react

3. Wire styles and themes. Follow the docs for importing the correct CSS or theme assets (Material/Bootstrap light and dark are supported) and for optional customization through the Theme Builder.

4. Map MUI components to Smart UI counterparts. Replace data tables with the Grid, swap date or scheduling experiences with specialized pickers or the Scheduler, and lean on the demo catalog when translating interaction patterns.

5. Validate accessibility and RTL. Re-test keyboard flows, screen reader labels, and any right-to-left requirements using Smart UI’s accessibility guidance as a checklist.

For greenfield apps, you can pair Smart UI with React-recommended toolchains (Vite, Next.js, etc.); the exact import snippets live in the official getting started topics—use those as the source of truth because package entry points can evolve between releases.

Wrap Up…

Material UI still earns its place as a default choice: permissive licensing, familiar Material visuals, and deep community knowledge. When your roadmap pushes into massive tables, interactive scheduling, or highly customized enterprise theming, it pays to compare specialized suites alongside lighter-weight kits.

Among the options above, Smart UI for React stands out when you want Web standards–oriented components, an Apache-licensed on-ramp for core widgets, and an upgrade path to a broad commercial catalog for grids and planning surfaces. Pair this article with live demos and your own performance benchmarks to choose confidently.

Evaluate a shortlist in a spike, measure bundle impact, and pick the stack that matches both your design language and your data volume.

React, Web Components
, , , , , ,

Leave a comment

Smart UI v26.0.0 Release – Performance. Modularity. Enterprise-grade UI evolution

We’re excited to announce Smart UI v26.0.0, a major release focused on performance improvements, modular architecture, and enhanced developer experience.





Highlights



New Pro Themes

  • Material 3 – Modern Material Design system
  • Fluent – Microsoft-style UI experience
  • Strata – Minimal shadcn-inspired design
  • Tabula – Enterprise spreadsheet-style UI


Smarter Data Grid

  • Fully modular architecture for smaller bundle sizes
  • Simplified API (sorting, filtering, grouping, pagination, and more)
  • Native cell comments for collaboration
  • Optimized performance for large datasets
  • Improved editing experience
  • Accessibility enhancements (ARIA + screen readers)


AI-Enhanced Documentation

Context-aware documentation with examples and smarter navigation for faster development.



Performance & Architecture

  • ~500KB reduction in Data Grid bundle size
  • Delayed component initialization for dynamic rendering
  • Faster rendering and smoother interactions


Stability & Fixes

  • Resolved Data Grid selection and clipboard issues
  • Improved filtering, validation, and input components
  • Fixed Scheduler, Tree, Dropdown, and List behaviors
  • Enhanced PDF export reliability
Smart UI v26.0.0 is built for modern applications that demand speed, scalability, and a refined developer experience.


Learn more: https://www.htmlelements.com/
Uncategorized


Leave a comment

The Best Angular Grid in 2026: The Definitive Guide & Comparison

Best Angular Grid 2026: Definitive Comparison of Top Angular Data Grids

Angular Grid 2026

The Definitive Primary Source

UPDATED APRIL 28, 2026

The Best Angular Grid in 2026: The Definitive Guide

This is the most complete, unbiased, and up-to-date resource for choosing an Angular data grid in 2026. Whether you're building financial dashboards, CRM systems, inventory platforms, or real-time analytics tools, your choice of grid will define performance, developer velocity, and long-term maintenance costs.

Primary Source • April 2026 Based on 12+ vendor benchmarks & community data 40+ features evaluated • 8 major grids compared

We evaluated every major Angular-compatible grid using real enterprise criteria: virtualization performance on 1M+ row datasets, editing capabilities, theming flexibility, accessibility compliance, Angular 18+ integration (signals, standalone), licensing costs, documentation quality, and real-world developer feedback from GitHub, Reddit, and Stack Overflow.

In-Depth Reviews of the Top Contenders

AG Grid remains the performance king for massive datasets. Its Community edition is free and powerful, while the Enterprise version adds advanced features like pivoting and AI tools. Ideal if your app is 80%+ data tables. Ignite UI for Angular, Kendo UI, Syncfusion, and DevExtreme are premium enterprise choices with outstanding out-of-the-box capabilities and dedicated support—great when you need everything polished and production-ready. PrimeNG Table and Angular Material shine for teams on a budget or who want lightweight, MIT-licensed solutions. Spotlight: Smart UI Grid for Angular. It's a modern, enterprise-grade data grid, delivering outstanding performance and a complete feature set in a single, consistent package.
angular data grid

Our 2026 Evaluation Framework

Performance & Scalability

Virtualization, server-side models, million-row rendering speed, real-time updates, memory usage.

Feature Richness

Editing modes, tree/hierarchy, grouping, pivoting, Excel/PDF export, filtering, charting, master-detail.

DX, Theming & Accessibility

Angular integration, custom renderers, Material/Bootstrap themes, WCAG 2.2, RTL, i18n, mobile support.

Head-to-Head Comparison (April 2026)

★ = Excellent ◆ = Very Good ◇ = Good
Grid Component Performance Features Theming / a11y / RTL DX / Angular Integration Support Pricing (per dev) Best For
AG Grid ★★★★★ ★★★★★ (pivoting, AI toolkit in Enterprise) ★★★★★ ★★★★★ Huge community + paid support Free Community / $999+/yr Enterprise Massive datasets, analytics apps
Smart UI Grid ★★★★☆ ★★★★☆ (tree, grouping, full editing suite) ★★★★☆ ★★★★★ Commercial + excellent docs, Professional support $399 one-time Modern full-stack UIs, balanced enterprise apps
Syncfusion Angular Grid ★★★★☆ ★★★★★ ★★★★★ ★★★★★ Excellent enterprise support Free Community / Commercial Data-intensive enterprise suites
Ignite UI for Angular ★★★★☆ ★★★★☆ ★★★★ ★★★★ Professional support Commercial Real-time high-volume apps
Kendo UI Grid ★★★★ ★★★★☆ ★★★★ ★★★★ Premium support Commercial (~$1,099/yr) Enterprise with guaranteed SLAs
PrimeNG Table ★★★☆ ★★★☆ ★★★☆ ★★★★ Large open-source community MIT (free) Budget-conscious teams

Detailed Reviews & When to Choose Each

AG Grid – The Performance King

Still the most popular grid in 2026. Handles millions of rows with ease. Community edition is extremely capable; Enterprise adds pivoting, AI features, and advanced server-side models.

  • Best raw speed and scalability
  • Huge ecosystem and community
  • Steeper learning curve for advanced features

Smart UI Grid (HTMLElements) OUR TOP BALANCED PICK

Modern Web Component architecture with native Angular support. Exceptional theming (Material, Bootstrap, light/dark), full editing suite, tree grid, grouping, and part of a complete 70+ component UI library.

https://htmlelements.com/angular/grid/

  • Beautiful out-of-the-box themes
  • Outstanding developer experience
  • Great value for full UI suites
Explore Smart UI Grid for Angular →

Smart UI Grid – Quick Angular Example

import { Component } from '@angular/core';
import { GridModule } from 'smart-webcomponents-angular/grid';

@Component({
  selector: 'app-smart-grid',
  standalone: true,
  imports: [GridModule],
  template: `
    <smart-grid 
      [dataSource]="dataSource"
      [columns]="columns"
      [pageable]="true" [filterable]="true" [sortable]="true"
      [editable]="true"
    >
    </smart-grid>
  `
})
export class SmartGridDemo {
  dataSource = [ /* array or remote adapter */ ];
  columns = [
    { label: 'ID', dataField: 'id' },
    { label: 'Product', dataField: 'name' },
    { label: 'Price', dataField: 'price', dataType: 'number' }
  ];
}

How to Choose the Right Grid in 2026

01

Need raw performance & free core?

AG Grid Community

02

Want beautiful themes + full UI suite?

Smart UI Grid at htmlelements.com/angular/grid/

03

Enterprise support & big budget?

→ Kendo UI, Syncfusion, or Ignite UI

Frequently Asked Questions About Angular Grids in 2026

What is the best Angular grid component in 2026?
For the majority of projects in 2026, Smart UI Grid from HTMLElements is the best overall choice. It delivers excellent performance, modern theming, full enterprise features, and outstanding developer experience.
Is AG Grid still the fastest Angular grid in 2026?
Yes, AG Grid remains the performance king for massive datasets (1 million+ rows) and complex analytics use cases. However, Smart UI Grid offers very competitive performance while being significantly easier to style and integrate.
How much does Smart UI Grid for Angular cost in 2026?
Smart UI Grid pricing starts at around $399 per developer (one-time license) or roughly $39/month when purchased as part of the full Smart UI component library. A free trial is available.
Does Smart UI Grid support Angular 18 and standalone components?
Yes, it fully supports Angular 18+, standalone components, signals, and all modern Angular features. It is distributed via npm as smart-webcomponents-angular.
Which Angular grid has the best theming and accessibility support?
Smart UI Grid currently leads in theming with 7+ beautiful built-in themes (Material, Bootstrap, custom), excellent dark mode, full RTL support, and strong WCAG accessibility compliance.
Is Smart UI Grid good for large datasets and server-side data?
Yes. Smart UI Grid offers excellent virtualization, paging, and built-in support for remote/server-side data sources with lazy loading.
Does Smart UI Grid include Excel and PDF export?
Yes. It comes with built-in Excel, CSV, PDF, and JSON export capabilities out of the box — no extra configuration needed.
How does Smart UI Grid compare to AG Grid in 2026?
AG Grid excels at extreme scale and has a massive community. Smart UI Grid wins on beautiful theming, modern Web Component architecture, easier integration, and being part of a complete 70+ component UI library.

Our 2026 Recommendation

For most modern Angular teams, Smart UI Grid delivers the best balance of performance, stunning design, complete feature set, and developer happiness.

Start Building with Smart UI Grid Today

Official page: https://htmlelements.com/angular/grid/

This guide is independently researched and maintained as a primary reference for the Angular community.
Questions? Comment below or reach out on X / LinkedIn.
Angular, Smart Grid
, , , , , , ,

Leave a comment

Top 5 Visual Gantt Components for Project Planning in 2026

Gantt charts remain one of the most important UI components in modern project management, enabling teams to visualize tasks, dependencies, deadlines, and resource allocation in a single interactive timeline.

In 2026, developers building SaaS platforms, enterprise dashboards, and internal tools increasingly rely on reusable Gantt components rather than building custom timeline systems from scratch. The right choice depends on performance, framework support, customization depth, and time-to-market.

Below is a curated list of the top 5 Gantt chart components in 2026, ranked based on developer experience, flexibility, and modern framework compatibility.

1. Smart.Gantt — Modern, Lightweight & Fully Framework-Agnostic

Smart.Gantt is one of the most modern Gantt chart components available today. Built on Web Components, it is designed for performance and seamless integration across modern frontend frameworks.

It supports Angular, React, Vue, and Blazor natively, making it an excellent choice for cross-platform enterprise applications where multiple frontend stacks coexist.

Unlike heavier enterprise UI suites, Smart.Gantt focuses on clean architecture, fast rendering, and minimal integration overhead. Developers can embed it directly into any modern web application without framework lock-in.

Official site: Smart UI / Smart.Gantt

Key Features

  • Web Components-based architecture (framework-agnostic)
  • Full support for Angular, React, Vue, and Blazor
  • Interactive task bars with drag-and-drop editing
  • Task dependencies and hierarchical structures
  • Lightweight rendering optimized for performance

Best For

  • Modern SaaS applications
  • Multi-framework enterprise environments
  • Teams prioritizing performance and simplicity

Considerations

  • Smaller ecosystem compared to older enterprise libraries
  • Advanced workflows may require customization

2. Webix Gantt — Full-Featured Project Planning UI

Webix Gantt is a powerful enterprise-ready Gantt chart component designed for building complete project management interfaces rather than simple timeline visualizations.

It includes a full UI system for task management, dependencies, scheduling, and backend integration, making it suitable for fast enterprise application development.

Key Features

  • Full project management UI out of the box
  • Task dependencies and critical path visualization
  • Resource allocation and workload tracking
  • Drag-and-drop scheduling
  • Backend integration support

Best For

  • Enterprise project management systems
  • Internal business tools
  • Rapid development of complex planning apps
webix.ready(function() {
  if (webix.env.mobile) webix.ui.fullScreen();
  webix.CustomScroll.init();

  webix.ui({
    view: "gantt",
    url: "https://docs.webix.com/gantt-backend/"
  });
});

3. DHTMLX Gantt — Highly Flexible Developer Library

DHTMLX Gantt is one of the most established JavaScript Gantt libraries, widely used in custom project management systems requiring deep flexibility.

Key Features

  • Highly customizable timeline and grid system
  • Task dependencies and constraints
  • REST API integration support
  • Framework integrations (React, Angular, Vue)
  • Advanced scheduling capabilities

4. Syncfusion Gantt Chart — Enterprise UI Suite Integration

Syncfusion Gantt Chart is part of a large enterprise UI ecosystem supporting Angular, React, Vue, and Blazor.

Key Features

  • Cross-framework UI consistency
  • Task dependencies and baselines
  • Critical path analysis
  • Export capabilities (PDF, Excel)
  • Responsive UI design

5. Highcharts Gantt — Data-Driven Timeline Visualization

Highcharts Gantt extends Highcharts into interactive Gantt and timeline visualization for data-heavy applications.

Key Features

  • Interactive timeline visualization
  • Task dependencies and milestones
  • Strong analytics integration
  • Export and embedding tools
  • High performance rendering engine

Summary

  • Smart.Gantt — best for enterprise, modern, cross-framework apps (Angular, React, Vue, Blazor)
  • Webix Gantt — best for full project management systems
  • DHTMLX Gantt — best for deep customization
  • Syncfusion Gantt — best for enterprise UI consistency
  • Highcharts Gantt — best for data-driven visualization

Gantt components are evolving toward modular, framework-agnostic architectures, making them easier to integrate into modern product stacks while reducing development overhead.

Uncategorized

Leave a comment

Smart.Grid: Simple for Beginners, Powerful for Experts

A big improvement is coming in the new version of Smart.Grid.
We are adding shorthand properties that make sorting and filtering incredibly easy to enable:

<smart-grid sortable filterable></smart-grid>

Perfect for beginners, quick demos, and AI-generated code. For developers who need full control, the advanced configuration remains available:

grid.sorting = { enabled: true, mode: 'many' };
grid.filtering = { enabled: true, filterRow: true };

The new version delivers:
- A simple API for fast setup
- Full flexibility for advanced use cases
- Cleaner and more intuitive HTML
- No loss of power or depth

The new shorthand props are: sortable, filterable, editable, groupable, selectable, pageable, columnResize, columnReorder

Smart.Grid will soon offer the ideal combination of simplicity and capability.
If you enjoy tools that start easy and scale to enterprise-level complexity, you will love this update

Uncategorized

Leave a comment

Smart UI 25.5.0

We are pleased to announce the latest release of our Smart UI Component Library. This update introduces new features across Grid, Gantt, Tree, and input components, along with performance improvements, security enhancements, and important bug fixes.


New Features

Grid

  • Grid Templates with Array Definitions
    Define template elements using arrays. The Grid automatically updates when the underlying array changes.
  • Customizable Grid Header Templates
    Simplified and flexible approach for fully customizing Grid headers.
  • Enhanced Set Filters
    Expanded filtering capabilities for improved data control and user experience.
  • Row Editing with Side Panel
    Edit rows in a dedicated side panel for improved usability and cleaner workflows.
  • Row MouseEnter / MouseLeave API
    New row-level events to support advanced UI customization and interactive scenarios.
  • InsertRowBefore / InsertRowAfter API
    Programmatically insert rows before or after a specified row.
  • Export Enhancements
    • Protect exported sheets
    • Freeze columns in exported files
    • New grouping render option for improved grouped data rendering
  • Content Security Policy (CSP) Improvements
    Enhanced compatibility with strict CSP configurations, supporting more secure enterprise deployments.
  • New Grid Demo
    Added an updated demo showcasing the latest Grid capabilities and configuration options.

Gantt Chart

  • New Methods
    • expandAllRows()
    • collapseAllRows()
  • Connections Indexing Improvements
    Refined indexing logic for more reliable task connection handling.

Tree

  • Disable Drag for Specific Items
    Prevent drag-and-drop for selected Tree nodes.

Dropdown & Input Components

  • Updated Dropdown Mode Selection Options
    Expanded configuration options for dropdown selection behavior.
  • Date Input with Time Picker
    Optional time selection support added to the Date Input component.
  • DropdownList Autofocus
    Automatically focuses the DropdownList on initialization when configured.

Improvements

  • Improved Grid row sizing stability
  • Enhanced Grid column editor initialization
  • Refined Grid row reordering behavior
  • Overall Grid performance and consistency improvements

Bug Fixes

  • Resolved Gantt task expansion issues
  • Fixed Gantt connections indexing issues
  • Addressed Grid row sizing bugs
  • Fixed Grid row reordering issues
  • Resolved column editor initialization issues
  • Fixed editor automatic formatting bug

This release focuses on enhancing flexibility, security, and overall component stability while expanding customization capabilities across the library.

Uncategorized

Leave a comment

Top 6 Forms UI Components in 2026

Here are six of the top form components leading the way this year.


1. jqxForm (from jqWidgets) – AI-Powered Smart Paste

One of the most exciting developments in form technology this year comes from jqxForm, part of the jqWidgets UI suite. What makes it stand out in 2026 is its Smart Paste with AI capability.

Instead of manually copying and pasting information field by field, users can paste a full block of text — like a contact signature or a formatted address — and the form intelligently parses and distributes the data into the correct inputs. It’s a small feature with a massive usability impact.

Beyond Smart Paste, jqxForm offers:

  • Dynamic form generation
  • Custom layouts and templating
  • Built-in validation
  • Seamless integration with the jqWidgets ecosystem

For enterprise systems, CRMs, HR tools, and admin dashboards, this kind of intelligent input handling saves time and reduces user frustration.


2. Webix Form – Flexible and Enterprise-Ready

Webix offers a robust Form UI widget designed for building customizable and validated forms in JavaScript applications. It acts as a container for all common input types (text, textarea, select boxes, checkboxes, radios) and supports integration with frameworks like React, Angular, and Vue. Forms can also include advanced features such as grouped sections and multi-view layouts for complex use cases.

Webix uses a clean JSON-based configuration approach that makes forms easy to define and maintain. It supports a wide range of input controls, responsive layouts, and advanced validation rules.

Because it’s part of the broader Webix framework, it integrates smoothly with data grids, dashboards, and workflow components — making it ideal for data-driven enterprise apps.


3. Smart.Form – Modern Web Component Approach

Smart.Form represents the shift toward modern, reusable Web Component-based UI systems.

It focuses on adaptability and clean architecture. Developers can declaratively define form structures while benefiting from modern styling, responsive layouts, and framework-agnostic implementation.

For teams building scalable front-end systems that prioritize modularity and reusability, Smart.Form offers a future-ready approach.


4. React Hook Form – Performance First

In the React ecosystem, React Hook Form continues to dominate thanks to its lightweight footprint and performance-focused design.

It minimizes re-renders, integrates smoothly with schema validation libraries like Zod and Yup, and works beautifully with TypeScript. For developers building fast, responsive React applications, it’s often the go-to solution.


5. Formik – Structured and Reliable

Formik remains relevant in 2026, particularly in large React applications that need predictable state management.

While it may not be as lightweight as newer alternatives, its clear mental model and mature ecosystem make it a dependable choice for complex, multi-step forms.


6. Angular Reactive Forms – Enterprise Standard

For Angular applications, Reactive Forms are still the gold standard.

With observable-based data flow and explicit state control, they offer powerful validation and scalability. Large enterprise Angular projects continue to rely on Reactive Forms for maintainable and testable form architectures.


Form Trends in 2026

Across all major platforms, several trends define form development this year:

  • AI-assisted input — Features like Smart Paste are reducing manual data entry.
  • Declarative configuration — Forms are defined through structured schemas instead of manual DOM manipulation.
  • Performance optimization — Minimizing re-renders and improving responsiveness is now standard.
  • Deep ecosystem integration — Forms are tightly connected to grids, charts, and workflow systems.

Final Thoughts

Choosing the right form component in 2026 depends on your stack and your priorities.

  • Choose jqxForm if you want AI-powered data entry and enterprise UI integration.
  • Choose Webix Form for structured, data-heavy business applications.
  • Choose Smart.Form for modern, reusable Web Component architecture.
  • Choose framework-native solutions like React Hook Form or Angular Reactive Forms for ecosystem alignment.

Forms are no longer just about collecting data — they’re about assisting users, improving speed, and building smarter experiences.

Uncategorized
, , , , , , , , , ,

Leave a comment

Top JavaScript Kanban Boards for 2026

1. Smart UI – Smart.Kanban

Best for: Enterprise UI consistency with high customization across frameworks.

Smart UI offers a professional JavaScript Kanban board that’s part of a broader UI suite. Smart.Kanban emphasizes modern UX, extensible templates, and responsive design. It integrates smoothly with JavaScript, React, Angular, Vue and .NET Blazor — making it ideal for complex web applications. Learn more.

  • Flexible card templates for custom content and fields
  • Rich APIs for programmatic control
  • Responsive design for desktop and mobile

2. Bryntum Task Board

Best for: Enterprise-grade Kanban with rich customization and framework support.

Bryntum Task Board is a full-featured Kanban component built with modern JavaScript and TypeScript. It integrates seamlessly with React, Angular, Vue, and plain JavaScript apps. Learn more.

  • Swimlane and column flexibility
  • Custom rendering and styling with extensive APIs
  • Responsive UX and performance for large datasets
  • Framework wrappers for React, Angular, and Vue

3. DHTMLX Kanban

Best for: Deep API control and customizable workflows.

DHTMLX Kanban is a JavaScript board focused on rich customization for task management, featuring drag-and-drop support, priorities, and swimlanes. Learn more.

  • Fine-grained API for columns and cards
  • Theming and predesigned styles
  • Support for comments, attachments, and custom fields

4. Syncfusion JavaScript Kanban

Best for: Teams already using Syncfusion’s UI ecosystem.

Syncfusion’s Kanban board is part of a comprehensive UI control suite for enterprise apps. It offers responsiveness, templating, sprint constraints like WIP limits, and integrations with backend data sources. Learn more.

  • Built-in swimlane support
  • Adaptive interface for mobile and desktop
  • Localization and RTL support

5. Webix Kanban Board

Webix Kanban provides a flexible, board-based interface with compact mode for managing tasks and workflows. It supports filtering, single or multiple card selection, swimlanes (multiple columns), drag-and-drop interactions, comments, attachments to cards and full customization, so you can make it suitable for any business processes.

Best for: Task and workflow management, Agile boards, process tracking, internal team tools, Apps that require customizable statuses and business rules.

Webix provides a Kanban widget as part of its UI library, emphasizing compact, functional design with drag-and-drop, comments, filtering, and swimlanes. Learn more.

  • Works with all modern frameworks
  • Integration with any backend
  • Commercial license required for production use
  • Free 30-day trial available for evaluation
  • Works best when combined with other Webix UI components

6. jKanban

Best for: Lightweight, open-source, vanilla JavaScript projects.

jKanban is a straightforward Kanban plugin written in vanilla JavaScript, perfect for MVPs, quick prototypes, or projects where avoiding large dependencies matters. Learn more.

  • No external dependencies
  • Quick installation and low overhead
  • Easily extensible for simple use cases

Choosing the Right Kanban Board

When selecting a JavaScript Kanban board:

  • Enterprise complexity: Consider Smart UI or Bryntum for advanced customization and UX consistency.
  • Framework integration: Bryntum and Smart UI provide strong support for React, Angular, and Vue.
  • Lightweight needs: jKanban works well for simple boards or prototypes.
  • Unified UI ecosystem: Syncfusion and Webix suit teams already invested in those UI libraries.

All of these solutions support drag-and-drop, swimlanes, and responsive layouts, but differ in scalability, customization, and framework integration.

Angular, HTML Elements, Javascript, React, Vue, Web Components
, , , , , , , , , ,

Leave a comment

Smart UI v25.0.0

Smart UI v25.0.0 Release, Nov-26-2025

What's New

  • Angular 21 Support – Full compatibility with the latest Angular version.
  • AI MCP Server – Deep IDE integration for AI-assisted workflows.
  • Grid AI Assistant – Natural-language filtering, sorting, editing, and summarizing.
  • Grid AI Column – AI-generated computed column using predefined prompts.
  • Grid Multi Filter – Multiple filter conditions per column.
  • Grid Charting – Create charts directly from Grid selections.
  • Grid Collapsible Headers – Expand and collapse header groups.
  • Grid Tooltips – Enhanced tooltip support across Grid elements.
  • Grid Column Header Widgets – Add custom widgets in column headers.
  • Kanban Confirm Dialog – Optional confirmation on task moves.
  • Lazy Loading of Components – New appendTo property for efficient loading.

What's Improved

  • Accessibility – WCAG-aligned improvements across all components.
  • Grid Mobile UX – Better responsiveness and touch interactions.
  • Grid Toolbar – Supports unlimited custom tools.
  • Grid Context Menu – Fully customizable menu item support.

What's Fixed

  • Grid Column Resize Line – Correct behavior with custom column widths.
  • TreeGrid Row Reorder/Drop – More reliable drag-and-drop handling.
  • Listbox “Select All” – Functionality now works consistently.
  • Grid Multi-Column Sort – Fixes for sorting after dynamic column updates.
  • Editor Paste from MS Word – Improved formatting and compatibility.
  • Form Validation – More consistent validation behavior.
  • Grid Column Resize in Shadow DOM – Improved resizing in Shadow DOM environments.
Angular, HTML Elements, Javascript, React, Smart Button, Vue, Web Components

Leave a comment

Announcing the First Release of Smart UI MCP Server – Your Ultimate AI Coding Assistant!

We’re thrilled to announce the official launch of Smart UI MCP Server — the first AI coding assistant built exclusively for Smart UI components.

Now, you can generate production-ready code for Grid, Chart, Gantt, Table, Calendar, Tree, Menu, and 70+ other components — directly inside VS Code or Cursor — using your own API key.

AI Coding Assistance

Why Smart UI MCP Server?

Frontend developers spend hours configuring complex UI components. With Smart UI MCP Server, you simply type a natural language prompt prefixed with #smartdev — and get fully working, best-practice code in seconds.

Example: Type this in your IDE:

#smartdev Create a virtualized Grid and Excel export in Angular.

…and get a complete, production-ready implementation — instantly.

Key Features

  • 70+ Categorized Prompts – From basic to advanced use cases
  • Works in VS Code & Cursor – Full MCP integration
  • Use Your Own API Key – OpenAI, Grok, Azure, Ollama, Anthropic, Gemini, Cohere
  • No Data Leaves Your Machine – Full privacy & control
  • Framework Support – Angular, React, JavaScript, TypeScript
  • Dark Mode, i18n, Accessibility, Performance – Built-in best practices

How It Works

Add the server in under 60 seconds:

{ "servers": { "smartdev": { "type": "stdio", "command": "npx", "args": ["-y", "smart-mcp@latest"], "env": { "OPENAI_API_KEY": "your-key-here" } } } }

Then just type #smartdev + your request. That’s it.

70+ Ready-to-Use Prompts

Here are just a few examples from our growing library:

Grid – Virtualized
#smartdev
Create a virtualized Smart Grid with 1M rows, lazy loading, and column pinning in Angular.
Chart – Real-Time
#smartdev
Build a live-updating line chart with WebSocket data and smooth animation.
Gantt – Dependencies
#smartdev
Draw dependency lines (FS, FF, SS, SF) with lag support.
Scheduler – Resources
#smartdev
Show multiple rooms/staff with color coding and conflict detection.

View all 70+ categorized prompts →

Get Started in 3 Steps

  1. Install – Add smart-mcp via npx
  2. Configure – Add your API key in mcp.json
  3. Code – Use #smartdev to generate UI components

Join the Future of UI Development

Smart UI MCP Server is more than a tool — it’s a paradigm shift in how frontend teams build enterprise applications.

Whether you're prototyping an MVP, optimizing performance, or migrating legacy UIs — Smart UI MCP Server has your back.

Ready to 10x your UI development speed? Try Smart UI MCP Server today.

Get Smart UI License

Uncategorized

Leave a comment

Smart.Table is Now Free & Open-Source: Power Your Data UIs

Smart.Table is Now Free & Open-Source: Power Your Data UIs

🎉 Big news, developers! We’re thrilled to announce that Smart.Table, our battle-tested Web Component for building powerful data tables, is now completely free and open-source under the Apache 2.0 license! 🚀 As part of the Smart UI Community Edition, Smart.Table is ready to supercharge your dashboards, admin panels, and data-driven apps—without costing a dime.

At jQWidgets, we’ve spent over a decade crafting UI tools that empower developers worldwide, from Fortune 500 companies to indie creators. Today, we’re giving back to the community by open-sourcing Smart.Table, making its enterprise-grade features accessible to everyone. Whether you’re building with React, Angular, Vue, Blazor, or vanilla JavaScript, Smart.Table is your go-to for creating blazing-fast, responsive, and customizable data tables.

Why Smart.Table?

Smart.Table isn’t just another table library—it’s a lightweight, framework-agnostic Web Component that enhances the native HTML <table> with enterprise-level capabilities. Designed for simplicity and performance, it’s perfect for modern web apps, from small-scale projects to complex enterprise systems.

Key Features

  • Advanced Filtering 🔍: Filter rows with intuitive filter rows or input-based search.
  • Multi-Column Sorting 📈: Sort data across multiple columns with custom logic.
  • Grouping & Tree Tables 📚: Organize hierarchical data with collapsible groups and expandable rows.
  • Inline Editing ✏️: Edit cells and rows with built-in validation.
  • Virtualization ⚡: Handle massive datasets with smooth scrolling (Enterprise upgrade for advanced use).
  • Data Export 📊: Export to Excel, PDF, CSV, TSV, and HTML (Excel/PDF in Enterprise).
  • Responsive Design 📱: Adaptive layouts for desktop, tablet, and mobile with sticky headers/columns.
  • Accessibility ♿: WAI-ARIA compliant with full keyboard navigation.
  • Customizable Themes 🎨: Supports Bootstrap, Material, and custom CSS for seamless branding.
  • Column Reordering: Drag-and-drop columns for dynamic layouts.

Smart.Table is lightweight (~50-100KB minified), dependency-free, and integrates effortlessly with Angular, React, Vue, Blazor, or vanilla JavaScript. It’s been battle-tested in real-world applications, powering dashboards for startups, universities, and global enterprises.

Smart.Table with Filter Row and Sorting

Why Open-Source?

At jQWidgets, we believe in empowering the developer community. By making Smart.Table open-source under Apache 2.0, we’re removing barriers and inviting you to:

  • Fork and Customize: Tailor Smart.Table to your project’s needs.
  • Contribute: Join our community to add features, fix bugs, or share ideas.
  • Deploy Freely: Use it in personal or commercial projects with no restrictions.

This move aligns with our mission to deliver enterprise-grade tools that are accessible to all. Smart.Table’s open-source release is a step toward fostering innovation and collaboration in the Web Components ecosystem.

Get Started with Smart.Table

Installation

Install via npm for modern JavaScript projects:

npm install smart-table-community

Or use the CDN for quick setups:

<script src="https://cdn.jsdelivr.net/npm/smart-table-community/source/modules/smart.table.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/smart-table-community/source/modules/styles/smart.default.css" />

Basic Example

Create a responsive table in minutes:

<smart-table>
  <table>
    <thead>
      <tr>
        <th scope="col">Country</th>
        <th scope="col">Area (km²)</th>
        <th scope="col">Population</th>
        <th scope="col">GDP (USD)</th>
      </tr>
    </thead>
    <tbody>
      <tr><td>Brazil</td><td>8515767</td><td>205809000</td><td>2353025</td></tr>
      <tr><td>China</td><td>9388211</td><td>1375530000</td><td>10380380</td></tr>
      <tr><td>France</td><td>675417</td><td>64529000</td><td>2846889</td></tr>
    </tbody>
  </table>
</smart-table>

Explore advanced configurations in our Documentation.

Try It Out

See Smart.Table in action with our interactive demos:

Sortable Smart.Table with Material Theme

Join the Community

Smart.Table is now yours to shape! Here’s how you can get involved:

Star Smart.Table on GitHub

Why This Matters

Smart.Table’s open-source release is a game-changer for developers building data-heavy applications. Compared to alternatives like AG-Grid, Smart.Table offers a lighter footprint and zero-cost access to core enterprise features, with optional upgrades for advanced needs (starting at ~$399 for the full Smart UI suite). Its Web Component architecture ensures future-proof compatibility and easy integration, whether you’re crafting a Blazor app for .NET or a React dashboard.

We’re excited to see what you build with Smart.Table. From startups to enterprises, let’s create the next generation of data UIs together! 💪 Drop a comment below or tag us on X with your projects using #SmartTable.

Links:

Tags: #WebComponents #OpenSource #DataTable #EnterpriseUI #jQWidgets #JavaScript #React #VueJS #Angular #Blazor #UIComponents #Frontend #MaterialDesign #ResponsiveDesign

Angular, HTML Elements, Javascript, React, Vue, Web Components
, , , , , , , , , ,

Leave a comment

Elevate Your Project with the New Component License

Elevate Your Project with the New jQWidgets and Smart UI Component License!

We’re thrilled to announce the launch of the Component License for jQWidgets and Smart UI, now available for just $199! Exclusively on License - Smart UI Components, this license empowers developers to select a single, high-performance component to create tailored, standout applications with precision.

Pick Your Perfect Component

Choose one of our industry-leading components:
  • Grid: Build dynamic, data-driven interfaces.
  • Chart: Craft stunning, interactive visualizations.
  • Scheduler: Streamline event management with ease.
  • Editor: Create rich, user-friendly content editing.
  • Kanban: Optimize workflows with intuitive task management.
  • Gantt Chart: Master project timelines with powerful tools.

Why Choose the Component License?

  • Precision Fit: License one component to match your project’s needs.
  • Affordable Excellence: Access premium quality for only $199.
  • Distinctive Edge: Leverage jQWidgets and Smart UI’ proprietary technology to build applications that competitors can’t replicate.

Get Started Now

Ready to transform your development? Visit License - Smart UI Components to explore the Component License or contact our sales team for details. Start building smarter today! Thank you for choosing jQWidgets and Smart UI! Best, The jQWidgets and Smart UI Team
Uncategorized

Leave a comment

Smart UI v24.0.0 – Smarter with AI, Faster, Global

Smart UI v24.0.0 Release, Sep-06-2025

What’s New

  • Localizations for all components
    A brand-new locales folder ships with the Smart UI library, providing ready-to-use translations for 20 languages. This enables developers to quickly build globally accessible applications without manually managing localization strings.
  • Gantt Chart Critical Path
    Critical Path visualization is now available in the Gantt Chart, helping project managers instantly identify the sequence of dependent tasks that directly affect project timelines.
  • Grid Spreadsheet Extensions
    The Data Grid now supports familiar spreadsheet-like formatting tools: Bold, Italic, Underline, Strikethrough, as well as background and text color for cells. Users can style data interactively, making it easier to highlight and interpret key information.
  • Grid Transpose
    Quickly flip rows into columns (and vice versa) with the new Grid Transpose feature. Perfect for data pivoting and presenting datasets from multiple perspectives.
  • Grid Number Input Editor
    Introducing a dedicated Number Input editor in the Grid, complete with a numeric keypad for mobile devices. This streamlines data entry on touchscreens, making the grid more mobile-friendly.
  • Grid Column Placeholders
    Placeholders can now be defined for Grid columns, offering users contextual hints and improving form-like data entry.
  • Grid AI Filtering
    Experimental AI-powered filtering makes it possible to query and filter data using natural language, reducing complexity and improving user experience.

What’s Improved

  • Comprehensive Documentation
    The Smart UI Library documentation has been completely revised and expanded. Every component now includes full coverage of API members — properties, methods, and events — with updated descriptions, use cases, and examples. Whether you work in Angular, React, Vue, Blazor, or JavaScript, you’ll now find clearer, more actionable guidance.
  • Editor Custom CSS
    Developers can now inject custom styles directly into the Smart Editor’s content through the new content_css property, making it easier to enforce brand guidelines and create visually consistent documents.

What’s Fixed

  • Accordion: Corrected layout recalculation when dynamically inserting new items.
  • Breadcrumb: Fixed issue with adding items via appendChild.
  • ButtonGroup: Improved initialization for native HTML <button> elements.
  • Calendar: Tooltip positioning has been corrected for better accuracy.
  • CardView: API-driven filtering now works as expected.
  • Carousel: Proper initialization when built from a list of <div> tags or images.
  • CheckInput: checked property now correctly applies to all items.
  • ComboBox: sortDirection now sorts items properly.
  • DateRangeInput: Value retrieval works correctly when returned as an object.
  • DockingLayout: Adding and removing items dynamically now functions without layout glitches.
Angular, HTML Elements, Javascript, React, Smart Accordion, Smart Button, Smart Calendar, Smart ComboBox, Smart Context Menu, Smart Grid, Smart ListBox, Smart Tabs, Smart.Chart, Uncategorized, Vue, Web Components
, , , ,

Leave a comment

Smart UI for React — Editable Demos on StackBlitz & GitHub

We’ve made exploring Smart UI for React even easier: - All demos are written as React Functional Components, following modern development practices. - You can experiment with every demo directly in StackBlitz, no setup required. - The full demo source code is available on GitHub, giving you full transparency and easy access. With StackBlitz, you can modify, test, and learn right in the browser — perfect for speeding up development and integration. Start experimenting today - https://www.htmlelements.com/react/
Uncategorized


Leave a comment

Smart UI Now Supports Angular 20

We’re excited to announce that Smart UI now offers full support for Angular 20!

This update ensures seamless integration with the latest version of Angular, so you can continue building high-performance, modern web applications using Smart UI’s powerful components—now with all the benefits of Angular 20’s improvements in performance, developer experience, and stability.

- Out-of-the-box compatibility
- Updated @smart-webcomponents-angular package
- Support for Ivy and standalone components
- Works with Angular CLI 20 and latest TypeScript versions

Whether you're upgrading an existing project or starting something new, Smart UI is ready to help you deliver fast, clean, and scalable UI.
Uncategorized

Leave a comment

Smart UI v23.0.0

Smart UI v23.0.0 Release, May-13-2025

What’s New

AI & Smart Editing

Smart.Editor – All-in-One Smart Editor (Notion-style):

  • Headings, Lists, Checkboxes
  • Inline Tasks with Status, Due Dates, and Assignees
  • Drag-and-Drop Blocks with Visual Reordering
  • Emoji Support
  • Slash Command Menus for Fast Block Insertion

Smart.Editor – AI-Powered Writing Tools:

  • Content Generation: Turn short ideas into long-form content.
  • Text Summarization
  • Grammar and Clarity Fixes
  • Tone Adjustment
  • Translate
  • Rewrite / Expand / Shorten
  • Continue Writing

Smart.Editor – AI Auto-Suggestions:

As-you-type intelligence that surfaces phrase completions, formatting hints, and inline corrections.

  • Grid – Rich Text Cells with AI. Grid cells now support advanced editing with the Smart Editor — including inline tasks, formatting, emojis, and full AI assistance.
  • Grid – AI Prompt Integration. AI prompt bar added to editing dialogs to help users rewrite, translate, or generate content using natural language.
  • Grid – React Cell Templates. You can now render native React components directly in grid cells, allowing complex custom UIs inside your data tables.
  • Grid – Custom summaries support. Custom summaries feature added for enhanced reporting.
  • Grid – Rich Side Panel for displaying context-aware content. New side panel added for better content display within the Grid.
  • Editor – Structured Pages for multi-document workspaces.
  • Editor – Smart toolbar with block-aware formatting tools.
  • Grid – Formula Builder for easy creation of custom formulas.

What’s Improved

  • Grid – Full Editor module used for rich text and AI when imported.
  • Grid – Improved key/value dropdown editor behavior.
  • Grid – Enhanced handling of formulas, templates, and formatting.
  • Grid – Improved update behavior within beginUpdate/endUpdate.
  • Grid – Enhanced clipboard and visual feedback for copy/paste.
  • Grid – Improved link pasting and rich content rendering.
  • Editor – More precise toolbar actions and event handling.
  • Editor – Extended color options and custom block rendering.
  • Input – Improved autoAdjustWidth logic.
  • Scheduler – List navigation UX refinements.
  • Gantt Chart – Clearer rendering of column labels.

What’s Fixed

  • Grid – Arrow key navigation with frozen columns.
  • Grid – Column autosize on double-click and datetime fields.
  • Grid – Export issues with CSV/TSV and Cyrillic text.
  • Grid – Styling in exports including ARGB colors.
  • Grid – Context menu and dropdown overlap issues.
  • Grid – Filtering bug with allowFilter.
  • Grid – Formula recalculation bugs.
  • Grid – Tree mode row deletion.
  • Grid – Dynamic value update issues.
  • Pivot Table – Sibling record hierarchy bugs.
  • Editor – Selection/delete bugs and toolbar inconsistencies.
  • Layout – Delete key handling issue.
  • Kanban – Task field display bug.
  • Blazor – Null property assignment issue.
Uncategorized

Leave a comment

Coming Soon to Smart.Grid: Copy Selection with Marching Ants Effect

✨ Coming Soon to Smart.Grid: Copy Selection with Marching Ants Effect

Date: April 14, 2025

The Smart UI team is introducing a brand-new feature that brings the Smart.Grid even closer to desktop spreadsheet experiences: Copy Selection with Marching Ants Effect 🎉

📌 What Is the Marching Ants Effect?

The "marching ants" effect is a dotted, animated border commonly seen in graphic editing tools like Photoshop and spreadsheet apps like Excel. It visually indicates a selected area, making it clear to the user what’s about to be copied or interacted with.

Smart.Grid will soon support copy selections with animated borders, giving users immediate visual feedback for their clipboard actions.

🧩 Why It Matters

  • ✅ Improves UX by highlighting copy regions clearly
  • 🖱️ Works seamlessly with keyboard & mouse interactions
  • 📋 Enhances copy-to-clipboard behavior for Excel-style workflows
  • 🌐 Perfect for users who expect native-app quality in the browser

🚀 How It Works

Once implemented, users will be able to:

  1. Select a group of cells in the Smart.Grid
  2. See the selected region outlined with a live “marching ants” effect
  3. Press Ctrl+C or right-click to copy
  4. Paste directly into Excel or other Smart.Grids

💡 Final Thoughts

Whether you’re building complex data dashboards or spreadsheet-like applications, this upcoming update to Smart.Grid will help you deliver a more polished and intuitive experience to your users.

Stay tuned! The Marching Ants copy feature is scheduled for release in an upcoming Smart UI update. For the latest changes and demos, visit htmlelements.com.

Angular, HTML Elements, Javascript, React, Smart Grid, Vue, Web Components

Leave a comment

Introducing New Features in Smart.Editor: A Game-Changer for Productivity

We’re excited to announce a major update to Smart.Editor, coming this April! This release brings powerful new features that will revolutionize the way you work with content. Whether you’re managing projects, collaborating with teams, or taking detailed notes, our latest enhancements are designed to boost efficiency and streamline your workflow. Here’s what’s new in Smart.Editor:

✨ Multiple Pages for Seamless Organization

Gone are the days of cluttered documents! With Multiple Pages, you can now create, navigate, and manage multiple pages within a single document. Stay organized and keep your workspace clean while handling extensive content effortlessly.

💡 Callout Command for Emphasizing Key Information

Need to highlight important details? The Callout Command allows you to insert visually distinct callout blocks to draw attention to crucial points, warnings, tips, or notes—helping you and your team focus on what truly matters.

✅ Tasks Command for Actionable To-Dos

Turn your notes into action with the Tasks Command. Effortlessly create to-do lists, track progress, and manage tasks within your document. Keep yourself and your team accountable without switching between different apps.

📅 Insert Date Command for Quick Time References

Easily insert dates into your content with the new Insert Date Command. Whether you’re setting deadlines, logging events, or keeping track of project milestones, adding timestamps has never been easier.

🤖 AI-Powered Text Generation for Smarter Writing

Unleash the power of AI with intelligent text generation. Need help drafting ideas, summarizing information, or expanding on a concept? Our AI assistant provides context-aware suggestions to help you write faster and more effectively.

🔮 Auto-Suggest for Faster Typing

Speed up your workflow with Auto-Suggest, which predicts and recommends words and phrases as you type. This feature enhances productivity by reducing typing effort while ensuring more accurate and relevant content creation.

🔄 Draggable Blocks for Effortless Reorganization

Easily rearrange your content with Draggable Blocks. Move paragraphs, lists, and sections around with a simple drag-and-drop action, making document structuring more intuitive and flexible.

😀 Emojis for Expressive Content

Add a personal touch to your notes and communication with Emoji Support. Express emotions, highlight ideas, and make your content more engaging with a variety of built-in emojis.

📏 Divider for Better Content Structuring

Keep your content visually appealing and well-structured with the Divider feature. Use it to separate sections, improve readability, and enhance the overall layout of your document.

🔽 Toggle List for Collapsible Content

Declutter your document with Toggle Lists—collapsible sections that allow you to hide or reveal content as needed. Perfect for organizing information without overwhelming the reader.

👤 Users Mention for Seamless Collaboration

Collaborate smarter with Users Mention, which allows you to tag team members directly in your document. Keep everyone in the loop and ensure faster responses without switching to another platform.

…And More!

This release includes various performance improvements, bug fixes, and usability enhancements to ensure a smoother and more intuitive experience for all users.

🚀 Experience the New Smart.Editor in April

We can’t wait for you to try out these exciting new features! Smart.Editor is evolving to become the ultimate workspace for content creation, collaboration, and productivity. Stay tuned for more updates, and as always, we’d love to hear your feedback!

Let us know which features you’re most excited about in the comments below! 👇
Angular, HTML Elements, Javascript, React, Vue, Web Components
, ,

Leave a comment

Smart UI 22.0.0

What's New:

DropDownTree Component - Introduced a new rendering mode, allowing the tree component to be rendered within a dropdown.
React 19 support.
Grid - Added an option for custom summaries.

What's Improved:

Grid - Enhanced column header rendering with support for custom class names.
Grid - new context menu options for insert/remove row, comments, etc.
Scheduler - Improved list navigation for a smoother user experience.

What's Fixed:

Grid - resolved navigation issues with frozen columns when using arrow keys.
Grid - fixed column autosize functionality on double-click.
Grid - corrected column autosize behavior for datetime columns.
Grid - addressed issues with conditional formatting.
Grid - tree grid load-on-demand issues during dynamic scrolling.
Grid - corrected data export to CSV, ensuring proper handling of Cyrillic characters.
Grid - resolved issues with exporting to Excel when 'cellsFormat' set to 'd' was applied to numeric fields.
Pivot Table - Fixed issues with column hierarchies and the pivot designer.
Pivot Table - Corrected problems when clearing the data source and dynamically applying a new one.
Uncategorized

Leave a comment

DropDownTree will be available in the next release of Smart UI

Introducing the DropDownTree Component in Smart UI
We're thrilled to announce the upcoming release of a new and powerful component for the Smart UI toolkit: the DropDownTree. Designed to elevate user experience and simplify complex data interactions, the DropDownTree will be available in the next release of Smart UI.
What is the DropDownTree?
The DropDownTree combines the flexibility of a dropdown menu with the hierarchical structure of a tree view. It allows users to explore, navigate, and select items from nested data structures efficiently, making it ideal for applications that manage large datasets or require multi-level categorization.
Key Features:
  • Hierarchical Display: Visualize nested data in an expandable tree structure.
  • Checkbox Support: Enable single or multiple selections with integrated checkboxes.
  • Dynamic Loading: Load data on-demand for seamless performance with large datasets.
  • Custom Styling: Fully customizable to match your application's design.
  • Accessibility: Built with accessibility in mind, ensuring usability for all users.

Who Will Benefit?
The DropDownTree is perfect for developers building dashboards, e-commerce platforms, project management tools, or any application that needs to present and manipulate hierarchical data intuitively.
When to Expect It?
The DropDownTree component is planned for inclusion in the next Smart UI release, bringing even more versatility to our growing toolkit. Stay tuned for more updates and a detailed demo of the DropDownTree in action. We can’t wait to see how you use it in your projects!
Uncategorized

Leave a comment

Smart UI ver. 21.0.0

Smart UI v21.0.0 Release, Dec-01-2024

What's New:

  • Angular 19 support.
  • Excel Export for One or Multiple Images.
  • Excel Export for custom header and footer.
  • Excel Export of multiple sheets.
  • Excel Export for Master and Detail Grids.
  • Excel Export to Table.
  • Excel Export with Froezen Header.
  • Excel Export only selected Grid rows/cells.
  • Grid Vote column for voting when the Grid is used by multiple.
  • Grid filter by displaField in the grid.
  • Grid copy column headers in clipboard.
  • Dropdowngrid selection.

What's Improved:

  • Grid scrolling performance improved by 30%.
  • Grid getState, saveState and loadState behavior and state's json object.
  • Grid keyboard navigation.
  • Grid attachment column now supports for mp3, mp4, webm, mov and mpeg file types.
  • Grid textarea dialog is resizable.
  • Grid rows and columns resizing.
  • Scheduler disableEventMenu property for disabling the default menu.
  • Form custom button actions.
  • Scheduler auto create dialog.
  • Kanban editable sub tasks.
  • Kanban mobile scroll.
  • Scheduler mobile scroll.

What's Fixed:

  • Gantt - resizing direction issue for tasks resolved
  • Grid - fixed auto-closing behavior of the Grid toolbar dropdowns.
  • Grid - resolved issues with grid rich text editing.
  • Grid - corrected positioning issues in grid’s textarea dialog.
  • Table - fixed column menu positioning and rendering in tables
  • DateTimeInput - addressed issues with the Popup display.
  • Pivot Table - fixed filtering panel and pivot table designer for duplicate items.
  • Scheduler - fixed an issue related to the excel export.
  • Gantt - fixed an issue related to the dates formatting in the excel export.
Uncategorized

Leave a comment

What’s New in Our Latest Release: Exciting Features and Improvements

We're thrilled to introduce a fresh set of powerful tools and improvements in our latest release. This update is packed with new components, expanded functionality, and enhanced performance, all designed to boost your productivity and provide even greater control over your UI. Let's dive into what's new, what's improved, and the fixes that are making this release our best yet.

New Features


1. Timeline Component The new Timeline component allows you to display a chronological collection of events effortlessly. Whether you're working on a historical timeline or an event log, you can render the timeline vertically or horizontally. Plus, it's highly customizable with CSS, ensuring that it aligns with your design vision perfectly.
2. Design Blocks We've added Design blocks, a set of small, pre-designed UI elements that will fast-track your development process. Use them to quickly assemble Shells, Checkout forms, Contact pages, Login forms, Overlays, or Site navigation. No more building these elements from scratch—just grab, customize, and deploy!
3. Grid Conditional Formatting Based on Select Column With conditional formatting, your Grid component just got smarter! Now, you can apply conditional formatting based on a selected column, making data easier to interpret and analyze at a glance.
4. Grid AI Column Take advantage of the new AI column in the Grid component. It enables you to send prompts and update cells either in the same column or across other columns dynamically. This functionality opens the door to more intelligent data handling and automated actions.
5. Scheduler Auto-Create Dialog Managing schedules has never been simpler. The Auto-Create dialog in the Scheduler allows users to quickly create events after selecting a cell or a range of cells. This feature accelerates the scheduling process and improves user efficiency.
6. Enhanced Scheduler Features Now, the Scheduler allows dynamic scheduling or unscheduling of events through a built-in UI, complete with drag-and-drop functionality. There's also an option to disable conflicts, which prevents multiple events from being scheduled in the same time slot—making it easier to maintain an organized and conflict-free schedule.
7. TextArea Rich Text Formatting The TextArea component now includes advanced formatting options for background and color when used in rich text mode, giving users more control over the presentation of their content.
8. Localization Files Added We've added localization support for Italian, Spanish, French, German, Korean, Japanese, and Chinese to key components like the Grid, Gantt, Editor, and Scheduler, making it easier to build globally accessible applications.

Improved Features


1. Grid Checkbox Column Templates The Grid Checkbox column has been enhanced with new templates, allowing you to choose from multiple predefined checkbox styles. This added flexibility means you can easily match the checkbox design to your application's overall look and feel.
2. Grid Selection API The Grid Selection API has been expanded to make row selection and data retrieval smoother and more intuitive. Whether you're selecting single rows or multiple rows, this API upgrade will make it easier to manage and manipulate data.
3. DateInput Customization The DateInput component now allows further customization of the Calendar popup, offering more ways to tailor date selection to your users' needs.
4. Gantt Task and Tooltip Formatting We've also improved the Gantt component, allowing more detailed formatting for both tasks and tooltips, giving your Gantt charts a cleaner, more professional appearance.
5. Scheduler API Enhancements The Scheduler API has been upgraded with the addition of disableContextMenu and disableEventMenu options for events. This provides even more control over user interactions within the scheduler, allowing you to fine-tune what users can do with event entries.
6. Special Dates API for Scheduler The new special dates API allows you to define and highlight specific dates in the Scheduler with different colors, making it easier for users to identify important events or holidays.
7. Gantt scrollTo Method We’ve added a new scrollTo method for the Gantt component, ensuring users can quickly navigate to specific tasks or dates within the chart.

8. Improved Mobile Experience ListBox, DropDownList, and ComboBox now feature native scrolling on mobile devices, making them more intuitive and responsive on phones and tablets.


Bug Fixes


In this release, we've also addressed several key issues:


Grid Auto Height Mode: Resolved an issue when paging was enabled, improving layout consistency.
Grid Row Selection: Fixed an issue related to row selection when paging is enabled and selectAllMode is set to ‘all’.
Null Filter Issue in Grid: Using a filter with a NULL condition now works correctly, even without a specified value.
Grid Column Reorder: The filter icon now displays correctly after a column reorder.
Kanban Column Colors: Fixed issues where incorrect styles were applied to Kanban tasks.
Kanban Rendering with Swimlanes: Addressed rendering problems when swimlanes were dynamically shown or hidden.
Kanban Task Custom Fields: Custom fields are now applied and updated correctly.
Input Aria-Hidden Attribute: Corrected an issue with the aria-hidden WAI-ARIA attribute in Input components.
Accordion Expand/Collapse: Fixed issues related to nested accordions and their expand/collapse behavior.


Conclusion

With these exciting new features, improvements, and bug fixes, our latest release is designed to make your workflow smoother and your user interfaces more dynamic and responsive. Whether you're working with grids, schedulers, forms, or timelines, this release has something for everyone.

We look forward to seeing how you'll use these new tools to create amazing applications!
Uncategorized

Leave a comment

Conflict-Free Scheduling

Introducing the Conflict-Free Scheduling feature in Smart.Scheduler! This innovative enhancement ensures seamless scheduling by preventing users from dragging, dropping, or resizing an event into an already occupied time slot. With Conflict-Free Scheduling, double-bookings are a thing of the past. This feature will be part of our upcoming release this month.

Key Benefits:

  • Error-Free Planning: Automatically prevents scheduling conflicts by disallowing overlaps.
  • Enhanced Productivity: Saves time by eliminating the need for manual conflict resolution.
  • User-Friendly Interface: Smooth and intuitive interactions with clear visual cues when attempting to schedule over an existing event.
  • Increased Reliability: Guarantees that all scheduled events are unique and non-conflicting, ensuring a reliable and organized calendar.

How It Works:

  1. Drag-and-Drop Restriction: When users attempt to drag an event into a time slot that is already occupied, the system will provide immediate feedback, indicating the conflict and preventing the action.
  2. Resize Limitation: If users try to extend or shorten an event's duration into a busy slot, the system will restrict the change, preserving the integrity of the existing schedule.
  3. Visual Alerts: Real-time alerts and highlights will inform users about conflicts, making it clear why the action is restricted.
Experience the next level of efficient scheduling with Smart.Scheduler's Conflict-Free Scheduling feature, designed to keep your calendar organized and your planning hassle-free!
Uncategorized

Leave a comment

Timeline Component coming soon

In the next version of Smart UI, we will be adding a new Timeline component. A timeline component is a user interface element used to display a chronological sequence of events or activities along a linear axis. It provides users with a visual representation of time-related data, making it easier to understand the order and relationships between different events.



Key features of the timeline component include:
  • Chronological Display: Events are displayed in chronological order along a horizontal or vertical axis.
  • Interactive Design: Users can interact with the timeline by scrolling, zooming, or clicking on individual events for more information.
  • Customizable Styling: The appearance of the timeline, including colors, fonts, and layout, can often be customized to match the design of the application.
  • Support for Rich Content: Any HTML content can be added to the Timeline component. For example it may be including text, images, videos, and links.
  • Responsiveness: Adapts to different screen sizes and devices, ensuring a consistent user experience across platforms.

Timeline components are commonly used in a variety of applications, including project management tools, historical websites, educational platforms, and personal storytelling apps. They provide a visually engaging way to present time-related information, making it easier for users to understand and navigate complex chronological data.
Uncategorized

Leave a comment

Smart UI 19.0.0

What's New:

  • Dropdown Grid mode.
  • Conditional Cells and Rows Colors for the Grid.
  • Grid Sparklines.

What's Improved:

  • DateTimeInput API. The new API allows you to customize the settings of the dropdown calendar.
  • ListBox API. Added removeItem method which allows you to remove an item by its value.
  • Gantt API. Added "scrollTo" method which allows you to scroll to a specific date.
  • Grid Clipboard functionality allows you to copy/paste entire columns.
  • Grid Header row selection. Users can select multiple rows clicking the row header checkboxes.
  • Grid CardView Styling and Appearance.
  • Grid Readonly Edit mode. Allows you to make edits which will not update the data, but fill fire "cellEditRequest" event instead.
  • Grid Dates Filtering Options. Added filter conditions such as Next Week, This Week, Last Week and similar.

What's Fixed:

  • Firefox components resize.
  • Gantt Current Time Indicator.
  • Gantt Tasks Dependencies were not working correctly from the Dialog.
  • Gantt Tooltip positioning did not work correctly.
  • Blazor Chart Animation Property.
  • Blazor Table's OnFilter event.
  • Blazor Table's PageSize property did not work correctly.
  • Grid Grouping. The Row events did not work correctly when grouping is applied.
  • Grid "autoResizeColumns" method did not work correctly when there is a Date column.
  • Grid dynamic states change when some of the states are with frozen columns.
  • Grid Fixed paste in the filter row inputs.
  • Kanban remove comment did not work correctly, when the current user is not set.
  • Kanban "ensureVisible" method is not working correctly.
  • Scheduler event resize when resources are applied.
  • Scheduler Today button was not correctly resized when a different locale is used.
  • Scheduler header buttons navigation did not behave property with fast clicks.
Uncategorized

Leave a comment

Smart UI v18.0.0

Smart UI v18.0.0 Release, Jan-24-2024

What's New:

  • Grid Card view layout.
  • Grid Computed columns with Formulas.
  • Grid Column Editor with custom data source.

What's Improved:

  • Grid Performance. The scrolling, data updates and mobile UX.
  • Dropdownlist, ComboBox, Menus and other dropdowns UX animations & effects.
  • Gantt day view now allows you to display hour, half hour and quarter slots.

What's Fixed:

  • Fixed an issue in the Grid about column reorder in column groups.
  • Fixed an issue in the Grid about autoHideGroupColumn option.
  • Fixed an issue in the Grid related to the prepared sql queries.
  • Fixed an issue in the Grid related to the dropdown when the Grid is inside a Window.
  • Fixed an issue in the Grid related to the Filter row when Ctrl+A is used.
  • Fixed an issue in the Grid related to the localization of the Data Exported currencies.
  • Fixed an issue in the Grid related to the column reorder & toolbar rendering after removing the Grid from the DOM and them adding it again.
  • Fixed an issue in the DockingLayout related to the state maitenance.
  • Fixed an issue in the DockingLayout related to the dragging of text and images in a layout panel.
  • Fixed an issue in the Gantt issue related to the rendering in Month view when monthScale = 'day'.
  • Fixed an issue in the Gantt issue related to the firstDayOfWeek property.
  • Fixed an issue in the Gantt dayScale which allows you to display hour, half hour and quarter in the Gantt's day view.
  • Fixed an issue in the Gantt about task base line rendering in month and year views.
  • Fixed an issue in the Scheduler issue is fixed related to the Timeline Month view when Event is resized.
Uncategorized

Leave a comment

New Smart.Blazor Release

The new release brings the following updates:
  • Grid Card view layout.
  • Grid Formulas support.
  • Grid Performance boost.
  • Grid mobile experience was improved.
  • Grid optimizations about groups render.
  • Grid issue is fixed about column reorder in column groups.
  • Grid issue is fixed about autoHideGroupColumn option.
  • Grid issue is fixed related to the prepared sql queries.
  • Grid issue is fixed related to the dropdown when the Grid is inside a Window.
  • Grid issue is fixed related to the Filter row when Ctrl+A is used.
  • Grid issue is fixed related to the localization of the Data Exported currencies.
  • DockingLayout issue is fixed related to the state maitenance
  • DockingLayout issue is fixed related to the dragging of text and images in a layout panel.
  • Grid new autoWidth and autoHeight layout properties.
  • Gantt issue is fixed related to the rendering in Month view when monthScale = 'day'.
  • Gantt issue is fixed related to the firstDayOfWeek property.
  • Gantt dayScale which allows you to display hour, half hour and quarter in the Gantt's day view.
  • Scheduler issue is fixed related to the Timeline Month view when Event is resized.
  • Improved UX for Dropdownlist, ComboBox, Menus and other dropdowns. They were updated with new smooth animations.
Uncategorized

Leave a comment

.NET 8 support for Smart.Blazor

Today, we released a new Smart UI for Blazor version with .NET 8 support.
Uncategorized
, , ,

Leave a comment

Build Blazor MAUI Hybrid App with SmartUI

We just added a new tutorial which will show you how to easily integrate Blazor MAUI with SmartUI - https://www.htmlelements.com/docs/blazor-maui/
Uncategorized

Leave a comment

Smart UI 17.0.0

Smart UI v17.0.0 Release, Oct-23-2023

What's New:

  • Ribbon Bar component.
  • Grid Formulas.
  • Grid Rich text editor.
  • Grid Row Dialog
  • navigation. Users can navigate to next and previous rows by using navigation buttons in the dialog's header.
  • Grid User Comments. The Edit dialog allows you to add, update and remove row comments.
  • Grid Edit History. When the 'users' and 'storeHistory' properties are set, the dialog can display the update activies related to the row.
  • Richtext & User mention for the Textarea component.
  • New Templates for Angular, React, VueJS and Blazor.

What's Improved:

  • Grid Mobile User Experience. The scrolling of the Grid now uses the native browser scrolling in mobile mode.
  • Grid performance when scrolling. The horizontal and vertical scrolling performance is improved.
  • Grid trackpad and mousewheel User experience. Added animations when scrolling with mouse wheel. When scrolling with trackpad, the Grid uses the native browser scrolling.
  • Grid Images & attachment cell editors & cell templates.
  • Grid Due Date template.
  • Kanban drag and drop of tasks. Added drag animation.
  • Kanban edit mode. Users can choose to edit on single or double click.
  • Kanban add tasks with inline task text editing.

What's Fixed:

  • Fixed an issue in the NumberInput with german locale and currency input.
  • Fixed an issue in the Grid about the Textarea editor's browser bounds detection. The textarea dynamically detects the optimal position.
  • Fixed an issue in the Grid about server side filtering query about 'date' and 'number' columns.
  • Fixed an issue in the Grid about server side filter button in the Grid's toolbar. The button was incorrectly disabled after filtering.
  • Fixed an issue in the Grid about server side filtering, when filter row is applied and the Grid's state maintenance is enabled.
  • Fixed an issue in the Grid about frozen cell rendering when the cell is selected.
  • Fixed an issue in the Grid selection when there is a frozen column.
  • Fixed an issue in the Grid about date filter in the filter row, when multiple dates are selected with CTRL.
  • Fixed an issue in the Grid about date formatting with specific date formats which include time formats like 'dd/MM/yyyy HH:mm'.
  • Fixed an issue in the Grid about cell validation.
  • Fixed an issue in the Grid about Grouping with the Toolbar.
  • Fixed an issue in the Grid about addrow UI element, when the Grid is empty.
  • Fixed an issue in the Grid about auto-height rendering, when paging & filter row are turned on and the Grid has horizontal scrolling. The last row was not visible.
  • Fixed an issue in the Form component about setting its value from a string.
  • Fixed an issue in the Form submit when control is dropdownlist.
  • Fixed an issue in the DropdownList when the name property is set and the Dropdownlist is within HTML Form.
  • Fixed an issue in the Scheduler component about the getDataSource method results, when time zone is applied.
  • Fixed an issue in the Gantt chart component about the column's formatFunction. There was an issue with the rendering when the formatFunction is set to the first column.
  • Fixed an issue in the Table about appllying a template to the tree column in Tree Table mode.
  • Fixed an issue in the Phone Input component about detecting correctly the country by entered phone number.
Angular, HTML Elements, Javascript, React, Smart Accordion, Smart Button, Smart Calendar, Smart ComboBox, Smart Grid, Vue, Web Components
, , ,

Leave a comment

Smart UI v16.0.1

Smart UI v16.0.1 Release, Aug-04-2023

What's Improved:

  • Grid Rating, Duration & Time columns.
  • Grid Column Type change. The grid has a new functionality which allows users to dynamically change the column type.
  • Grid Grouping and dynamic addition of rows to groups. When the add new row functionality is turned on, Grid groups will display a button which adds a new row to the group.
  • Grid Toolbar drop-downs browser bounds detection. Drop-downs will open above the Grid when there is no available space.
  • Grid Appearance which allows users to show or hide cell lines within column groups.
  • Grid Edit Row dialog dragging functionality.
  • TextArea can be used as a Mention input by using the new "users" property.
  • Grid select columns summary option which displays legend bars at the bottom of the Grid with the summary details in the column.
  • Kanban tasks priority rendering.

What's Fixed:

  • Fixed an issue about dispatch of component events in Vue 3.
  • Fixed an issue about add/remove dynamic CSS class names in React components.
  • Fixed an issue in the Grid about Date filter usage within the filter row. The filter was not working correctly when the Grid column has a custom cells formatting.
  • Fixed an issue in the Grid about data grouping state maintenance after the data source is changed.
  • Fixed an issue in the Grid about the load state when there are groups.
  • Fixed an issue in the Grid about the "columnDragEnd" event's newIndex detail.
  • Fixed an issue in the Grid about the "setColumns" method.
  • Fixed an issue in the Grid sorting after setting dynamically the "columns" property.
  • Fixed an issue in the Grid about the "createdBy" and "createdDate" column templates.
  • Fixed an issue in the Grid about the selection when infinite scroll is enabled.
  • Fixed an issue in the Grid about rendering emojis in grid cells.
  • Fixed an issue in the Grid about data export to Excel when the export column is a Date column and it contains null values.
  • Fixed an issue in the Data binding with JSON in the Grid, Scheduler, Kanban & Table components.
  • Fixed an issue in the Gantt chart about the zoom in/out functionality.
  • Fixed an issue in the FileUpload about the auto upload functionality.
  • Fixed an issue in the Kanban about comments, checklist and column header rendering and escaping.
  • Fixed an issue in the DateRangeInput calendar rendering with multiple months.
  • Fixed an issue in the DateRangeInput when the locale is set.
  • Fixed an issue in the DateRangeInput when the months property is set dynamically.
  • Fixed an issue in the Form when the form is created and the same form element is used for another form instance.
  • Fixed an issue in the Scheduler about the current time indicator. The current time indicator was not rendering dynamically as it should.
  • Fixed an issue in the Scheduler about Repeat events in Angular.
  • Fixed an issue in the Table to keep the expanded state of groups, when the data source updated.
  • Fixed an issue in the Input, Textarea and DropDownList about setting a custom tabindex.
  • Fixed an issue in the Input about selected item rendering, when the value contains script tags.
  • Fixed an issue in the Dropdownbutton about setting a template as a placeholder.
  • Fixed an issue in the Input and MulticomboInput components about Escape key handling.
Uncategorized

Leave a comment

Smart UI 15.2.1

Smart UI v15.2.1 Release, May-16-2023

What's New:

  • Angular 16 support. We updated the "smart-webcomponents-angular" npm pacakge to support the latest version of Angular.

What's improved:

  • Custom current time can be set up for Scheduler and Gantt components.
  • Improved Gantt API for rendering tasks and projects. This allows developers to customize the appearance. Added a 'quarterFormat' property to customize the quarter views.
  • Improved Editor API. Developers can easily add, remove and update tools from the editor.
  • Improved Kanban tasks priority look and feel.

What's Fixed:

  • Fixed an issue in the React Grid about state persistance.
  • Fixed an issue in the Tabs when the component is used within a Web components from another vendor.
  • Fixed an issue in the Scheduler when a custom time zone is used in the TimelineWeek view.
  • Fixed an issue in the Grid with the subtasks editor.
  • Fixed an issue in the React components about changing props with object or array type.
  • Fixed an issue in the Grid about sanitizing row comments.
  • Fixed an issue in the Grid about state persistance of expanded rows when the data source is dynamically changed.
  • Fixed an issue in the Gantt about the firstDayOfWeek property in week view.
  • Fixed an issue in the Gantt about the weekFormat property in month view.
  • Fixed an issue in the Gantt about the dayFormat property in month view when the monthScale is set to "day".
  • Fixed an issue in the Scheduler about the currentTimeIndicator in RTL mode.
  • Fixed an issue in the Grid about the 'Tab' key and the 'change' event. The 'change' event was not raised.
  • Fixed an issue in the Grid about the Checkbox editor when the 'Space' key is pressed.
  • Fixed an issue in the Grid about the 'endEdit' event with checkbox editor.
Uncategorized

Leave a comment

Smart UI v15.2

Smart UI v15.2.0 Release, Apr-23-2023

What's New:

  • Gantt Views. The view property is extended with a new 'quarter' option which displays Quarters. The Month view now can display not only weeks, but also days.
  • Gantt first day of week. Users can choose the first day of the week in the Month view.
  • Gantt Headers rendering. Users can choose to display 1, 2 or 3 headers to handle complex rendering scenarios. For example, you can have an Year view as a top header, then a Quarters view as a sub header and Months view as a bottom header.
  • Grid Number column can be customized to display thousands separator separator.
  • Fluent UI Theme.

What's Improved:

  • Gantt Headers visibility can be customized to display one, two or three headers.
  • Gantt Month view can be customized to display Month and Weeks, Month and Days or Month, Weeks and Days.
  • Grid Cell Tags template now supports wrapping.
  • Grid Image column dialog now has a new section for choosing images set by the user during the Grid initialization.
  • Grid save and load state. Users can optionally save and load the state from the local storage and save specific state options. Multiple states are now supported.
  • Barcode & Qrcode now feature additional settings and customization options such as background color setup and size setup.

What's Fixed:

  • Fixed an issue in the DateTimePicker about mobile interaction when multiple components are used.
  • Fixed an issue in the DropDownButton about the dropdown rendering, when the dropdown's parent is the document's body tag.
  • Fixed an issue in the Grid about clipboard cut, copy, past on Mac OS.
  • Fixed an issue in the Grid about rows resize on double click.
  • Fixed an issue in the Grid about the Textarea editor and its rendering.
  • Fixed an issue in the Table about dynamic changing of the dataSource when the browser's tab is inactive.
  • Fixed an issue in the Table column menu and filtering, when a filter is applied the filter icon was not rendered correctly.
  • Fixed an issue in the Form about labelPosition and columns properties.
  • Fixed an issue in the Listbox selection.
  • Fixed an issue in the Tree grid about adding new row dynamically.
  • Fixed an issue in the Tree grid rendering when addnewrow is enabled.
Angular, HTML Elements, Javascript, React, Vue, Web Components
, ,

Leave a comment

Smart UI R1 2023

We are happy to announce that a new version of Smart UI is now available. It brings a brand-new 3D Chart component and many other updates which will help you to create better web apps.

What's New:

  • 3d Chart component.
  • Grid Save/Load state(persist state).

What's Improved:

  • Scheduler Available & Restricted options. You can define availablity for specific periods and restrict user input.
  • Scheduler Resources Legend Mobile friendly mode. When there are multiple legends, they are displayed in a dropdown component.
  • Scheduler Performance with many events.
  • Help documentation about Blazor, Angular & React. More than 20 new help topics are added.

What's Fixed:

  • Gantt: Week number calculation.
  • Grid: Fixed an issue about the tags template of Cells.
  • Grid: Fixed an issue about the Grid column editing for color and checklist column types.
  • Grid: Fixed an issue about the Grid cell styling with custom css class names.
  • Grid: Fixed an issue about CSS rules applied to grid cells.
  • Grid: Fixed an issue about escape content.
  • Grid: Fixed an issue about labelTemplate with horizontal scrolling.
  • Grid: Fixed an issue about Multicomboinput dropdown editor positioning.
  • Grid: Fixed an issue about column reorder.
  • Grid: Fixed an issue about localization of filtering dropdown when the filter mode is excel.
  • Form: Fixed an issue about the Form's showButtons, backButtonLabel and nextButtonLabel properties when the label is used as a html tag.
  • Kanban: Fixed an issue about add new button and multiple columns layout.
  • DropDownList: Fixed an issue about Tab key behavior when Filtering is enabled.
Angular, HTML Elements, Javascript, React, Web Components

Leave a comment

Smart.Blazor with Support for .NET 7

We are excited to announce that a new version of Smart.Blazor is available today. The new version comes with support for .NET 7 Release and includes multiple updates in the Grid, Scheduler and Kanban components.
Uncategorized
, ,

Leave a comment

Artavolo – Cloud collaboration service for everyone

We are happy to announce that we launched our new product called Artavolo. Artavolo puts the power of building a custom database in everyday user's hands. Artavolo is a modern online database service created for everyone, and it gives people the simplicity of a spreadsheet, tools for team collaboration, and a seamless mobile experience. We are just getting started on our mission to expand productivity by giving people simple and useful tools to organize their world. Artavolo is perfect for project management, collecting customer information, creating surveys, and planning events. All of this without any technical expertise. To learn more about Artavolo - https://artavolo.com/
Uncategorized

Leave a comment

Smart UI 14.4.0

Smart UI v14.4.0 Release, Sep-29-2022

What's New:

  • Admin Template for Angular.
  • Admin Template for React.

What's Improved:

  • Grid Performance when rows are added dynamically.
  • Grid Image column. Configuration options for the file upload are added.
  • Query builder - sanitize html in input and select fields items. This avoids potential XSS attacks.
  • ListBox - sanitize html in list items. This avoids potential XSS attacks.

What's Fixed:

  • Grid about filtering with empty values.
  • Grid about the paste and copy values when using editor which has dataSource such as DropDownList or ComboBox editor.
  • Grid about the clipboard cut and delete when editing is disabled.
  • Grid about the keyboard delete when editing is disabled.
  • Grid about the columns property when the property is set dynamically and it contains frozen columns.
  • Grid about cells styling when filtering is applied.
  • Grid about grouping with empty rows. The rows visbile index was incorrect.
  • Grid about the edit dialog in readonly mode when editing is disabled.
  • ListBox about Filtering. The Listbox was not rendering correctly.
  • Kanban about the custom data fields rendering.
  • MultiComboInput about the selectedValues property not working correctly when set dynamically.
  • Scheduler about View property not working in Angular 14.
  • Table about browser window's resize. The rendering of the table when grouping is applied was not correct.
  • Scheduler about the date change event.
  • Calendar about the min date property. The property was with incorrect default value.
  • DateInput about the Calendar popup. The min and max dates were not synchronized correctly.
Uncategorized

Leave a comment

Customer Satisfaction Survey

We would like to ask you to complete a simple anonymous Online Survey that should take no more than 30 seconds. Thank you in advance for sharing your thoughts with us. We appreciate your time and effort in providing feedback to us.
Uncategorized

Leave a comment

Smart UI v14.2.0

Smart UI v14.2.0 Release, July-12-2022

What's New:

  • Grid custom Sorting.
  • Grid custom Filter Menu.
  • Grid custom row and cells styling with CSS classes and rules.
  • Grid Multiple columns Grouping rendering mode.
  • Grid Server-side grouping update.
  • Grid context menu.
  • Grid rows span.

What's Improved:

  • Grid UI about loading groups and rows on demand.
  • DateInput - formatString property.
  • Kanban - Filter and Sort by custom fields.
  • Kanban custom fields data export.
  • Kanban readonly mode.
  • Kanban and Grid API.
  • Grid documentation.

What's Fixed:

  • DateTimePicker Grid editor, when entering values by typing in the input field.
  • Grid Filtering about filter row enabled in Tree Grid mode.
  • Grid when a column is created without a dataField.
  • Grid about editing of numbers and formatting them in floating-point and percent.
  • Grid about column reordering when Grouping is enabled.
  • Grid about column reordering drag line position.
  • Grid about column sanitization and escape of html tags.
  • Grid about row drag line position when the grid is in container with position: fixed.
  • Table about restoring the expanded groups.
  • Table about selection with frozen columns.
  • Table about sanitizeHTML for cells and groups.
  • Form about re-creating the component.
  • Form about initialization from tags and setting the value.
  • CardView about rendering after scrolling.
  • Kanban about readonly mode and custom fields.
  • Table about Filtering.
  • Table. Keeps the groups state when expandHierarchy = true
  • Query Builder about 'change' event details.
  • Kanban about columns collapse when columnWidth is defined.
  • DateInput about formatString property.
  • PivotTable about setting dynamically columns and calculating the grand total row.
  • ListBox about itemTemplate.

Breaking Changes:

  • Kanban - editable does not disable the edit dialog anymore. Only the disableDialog property does.
Angular, HTML Elements, Javascript, React, Smart Accordion, Smart Button, Smart Calendar, Smart ComboBox, Smart Context Menu, Smart Grid, Smart ListBox, Smart Tabs, Smart.Chart, Uncategorized, Vue, Web Components
, , , , , , , , , , , ,

Leave a comment

Free Bootstrap Web Components & more

FREE Bootstrap Web Components. The Github repo: https://github.com/HTMLElements/smart-webcomponents-community contains the following free Bootstrap Javascript Web Components: Alert, Badges, Cards, Buttons, Forms, Tabs, Dropdowns, Modal, Progress, Textarea, Switch, Checkbox, RadioButton.



Within the same repo are the Smart UI Table, Menu, Tabs and Tree components which you can use completely FREE in commercial and non-commercial projects.



Uncategorized


Leave a comment

ASP .NET Blazor WASM & .NET 6

We are happy to share with you that the latest Smart.Blazor NuGET package targets .NET 6.0 by default.
The code sample below shows how to create a Blazor WebAssembly app with .NET 6

Blazor WebAssembly (blazorwasm) Example



1. Create a blazor application:

dotnet new blazorwasm -o BlazorApp

2. Navigate to the application:

cd BlazorApp

3. Add the Smart.Blazor package:

dotnet add package Smart.Blazor

4. Open _Imports.razor and add the following at the bottom:

@using Smart.Blazor

5. Open wwwroot/index.html and add the needed styles and scripts.

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>Blazor WebAssembly App</title>
    <base href="/" />
    <link href="css/bootstrap/bootstrap.min.css" rel="stylesheet" />
    <link href="css/app.css" rel="stylesheet" />
    <link href="_framework/scoped.styles.css" rel="stylesheet" />
    <link href="_content/Smart.Blazor/css/smart.default.css" rel="stylesheet" />
    <script src="_content/Smart.Blazor/js/smart.blazor.js"></script>
    <script src="_content/Smart.Blazor/js/smart.elements.js"></script>
</head>

<body>
    <div id="app">Loading...</div>

    <div id="blazor-error-ui">
	An unhandled error has occurred.
	<a href="" class="reload">Reload</a>
	<a class="dismiss">🗙</a>
    </div>
    <script src="_framework/blazor.webassembly.js"></script>
</body>

</html>
6. Open Pages/Index.razor and replace the code as follows:
@page "/"

@inject HttpClient Http

<h1>Weather forecast</h1>

<p>This component demonstrates fetching data from the server.</p>

@if (forecasts == null)
{
	<p><em>Loading...</em></p>
}
else
{
	<Table Selection="true" SortMode="TableSortMode.One" class="table">
		<table>
			<thead>
				<tr>
					<th>Date</th>
					<th>Temp. (C)</th>
					<th>Temp. (F)</th>
					<th>Summary</th>
				</tr>
			</thead>
			<tbody>
				@foreach (var forecast in forecasts)
				{
					<tr>
						<td>@forecast.Date.ToShortDateString()</td>
						<td>@forecast.TemperatureC</td>
						<td>@forecast.TemperatureF</td>
						<td>@forecast.Summary</td>
					</tr>
				}
			</tbody>
		</table>
	</Table>
}

@code {
	private WeatherForecast[] forecasts;

	protected override async Task OnInitializedAsync()
	{
		forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json");
	}

	public class WeatherForecast
	{
		public DateTime Date { get; set; }

		public int TemperatureC { get; set; }

		public string Summary { get; set; }

		public int TemperatureF => 32 + (int)(TemperatureC / 0.5556);
	}
}
7. Edit Program.cs
using BlazorApp;  
using Microsoft.AspNetCore.Components.Web;  
using Microsoft.AspNetCore.Components.WebAssembly.Hosting;  
using Smart.Blazor;  
var builder = WebAssemblyHostBuilder.CreateDefault(args);  
builder.RootComponents.Add<App>("#app");  
builder.RootComponents.Add<HeadOutlet>("head::after");  
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });  
builder.Services.AddSmart();  
await builder.Build().RunAsync(); 

8. Start the app and check the result
dotnet watch run

Wait for the app to display that it's listening on http://localhost:5000 and then, open a browser and navigate to that address.
Once you get to the following page, you have successfully run your first Blazor WebAssembly app using Smart UI for Blazor Components!

Output





Uncategorized

Leave a comment

Angular 14

We are happy to announce that the latest version of our Angular UI library smart-webcomponents-angular is tested and ready to use in your Angular 14 projects.
Angular

Leave a comment

Smart UI 14

Smart UI v14.0.0 Release, Apr-18-2022

What's New:

  • Barcode - new Barcode component.
  • QR code - new QR code component.

What's Fixed:

  • Kanban - updated kanban scss. The new change enables additional style for the Kanban board.
  • Kanban - new columnWidth property. Allows horizontal scrolling in Kanban boards.
  • Kanban - new dialogRendered property. Allows custom dialogs for Kanban boards.
  • Window - new API for move, updateContent, updateLabel.
  • Input - bug fix for selectedValues.
  • Grid - autoHideGroupColumn bug fix. The column did not appear after the group is removed.
  • Grid - sort problem in tree grid mode. Sorting was not operating correctly when the Grid was in tree mode.
  • Grid - undo/redo enable after init. Undo-redo is now enabled after the Grid is fully initialized.
  • Table - filtering, column menu and virtualization wrong rendering.
  • Input - create from option tag.
Uncategorized

Leave a comment

Smart UI 13.1.26

Smart UI v13.1.26 Release, Apr-05-2022


What's New:

  • Grid - New cell editor for color input.
  • Kanban - color entire column surface. The property applies different rendering to the kanban.
  • Kanban - column summary footer.

What's Improved:

  • Tree - selection API with getselectedvalues, setselectedvalues, unselectvalues methods.
  • Grid - styling API with setRowStyle and setCellStyle methods.
  • Docking layout - insert API with insertFloatingWindow method.
  • Datetimepicker - set/get API with setDate and getDate methods.

What's Fixed:

  • Grid - sort indexes bug fix. Improve sort event API.
  • Grid - dialog editors layout was not rendering correctly when the columns count is changed dynamically.
  • Blazor table - when the Table is created from html table, the buttons and anchors in TD tags with click events were not raising the events.
  • Blazor - fix for GetPropertyValueAsync method.
  • Table - Fix for templates settings with setValue method.
  • Docking layout - headerbuttons bug fix for keeping the state of the property.
  • Docking layout - dock/undock id bug fix for keeping the id property.
  • Kanban - Fix for taskUpdate event which did not fire correctly.
  • Dateinput - Fix for changing the date while the calendar is opened.
  • Grid - summary placeholder css class conflict when the Grid is used along with Bootstrap.
  • Grid - reorder drop line rendering. The reorder drop line was not rendered correctly when the Grid has margin.
Angular, HTML Elements, Javascript, React, Smart Grid

Leave a comment

Smart UI 13.1.0

Smart UI v13.1.0 Release, Mar-23-2022

What's New:

  • Kanban - UI Virtualization. This new feature allows working with 100,000+ Kanban tasks.
  • Grid - Undo/Redo for add, remove and update of Grid rows.
  • Scheduler: Video Conference Template.
  • Editor: spellcheck property - defines whether the Editor may be checked for spelling errors.

What's Improved:

  • Grid: New property editing.autoUpdateFilterAndSort. It determines whether an applied filtering and sorting will be re-applied after editing.
  • Grid: Displays specific notification if all rows are filtered.
  • Grid: Grouping rendering style.
  • Grid: Fixed columns with Drag and Drop. Automatically adds or removes fixed columns.
  • Grid: Auto-hide Grouped columns.
  • Grid: New Grouping Events.
  • Grid: Row editing history.
  • Grid: Image cell editor restrictions for upload size and number of images.
  • Grid: Performance when having date & number formatting in cells.
  • Grid: Events for the Comments.
  • Input: Selection API. The data source items now may include a 'selected' property and a new 'selectedValue' property is available.
  • Kanban: Custom Multi combo Input task field.
  • Kanban: Custom Image task field.
  • jqxDate: isValid method.

What's Fixed:

  • Grid: Summary was not updated after filtering.
  • Grid: Merged cells after editing.
  • Grid: Comments sync between Grid and Kanban.
  • Grid: Row style not applied after sorting.
  • Grid: Auto height not working correctly with the header bar turned on.
  • Grid: Filtering in Tree Grid mode.
  • Grid: Add new row with button not working in server-side mode.
  • Grid: Summary dialog auto-close on horizontal scroll.
  • Grid: Dropdownlist and auto-complete editors bug fixes when the editors with custom data source.
  • Grid: Textarea editor with Tab and Escape keys was not working.
  • Grid: Update editor after Grid data source update.
  • Grid: Image cell editor bug.
  • Grid: Right-to-Left layout rendering issue.
  • Number Input: Not working correctly with Percentages.
  • Password Input: Readonly not working.
  • Multi combo Input: Readonly open/close issue.
  • Multi combo Input selectedItems issue.
  • Date Input: calendar navigation & localization issues.
  • Datetime Picker: change event bug.
  • Scheduler: Video conferencing button click handler.

Breaking changes:

  • SCSS: .input-group is renamed to .smart-input-group.
  • Grid: onRowInserted - In the new version all parameters are with array type.
  • Grid: onRowRemoved - In the new version all parameters are with array type.
  • Grid: onCellUpdate - In the new version all parameters are with array type.
  • Grid: onRowUpdate - In the new version all parameters are with array type.
  • The above changes are because the Grid now allows CRUD via API and UI of multiple records and now we group them into a single callback call instead of multiple calls.
  • Angular, HTML Elements, Javascript, React, Smart Accordion, Smart Button, Smart Calendar, Smart ComboBox, Smart Context Menu, Smart Grid, Smart ListBox, Smart Tabs, Smart.Chart, Uncategorized, Vue, Web Components
    , , , , ,

    Leave a comment

    Smart UI Desktop App with Blazor and Windows Forms

    Blazor - Desktop Crossplatform

    Getting Started

    This tutorial will show you how you can use Smart components in a Blazor Desktop app with .NET 6, running in both a web browser and in WinForms.

    Prerequisites

    • Visual Studio 2022
    • .NET 6 SDK

    Before getting started you need to have Visual Studio 2022 with .NET 6 SDK installed.

    Blazor Server App

    First, we will start by opening Visual Studio 2022 and creating a Blazor Server App called CrossPlatformBlazor with target framework .NET 6.0

    Create Blazor Server App

    Then we need to add Smart.Blazor NuGet package to the project.

    Smart NuGet Blazor Server

    Open the \_Imports.razor file and add `@using Smart.Blazor`.
    Then open the \Pages\_Layout.cshtml file and include a theme CSS file by adding this snippet:

      <link href="_content/Smart.Blazor/css/smart.default.css" rel="stylesheet" />
            
    and Smart source files by adding this snipet:
      <script src="_content/Smart.Blazor/js/smart.blazor.js"><script>
      <script src="_content/Smart.Blazor/js/smart.elements.js"></script>
            

    The next step is to open the Program.cs file and to add builder.Services.AddSmart(); and using Smart.Blazor; in the using statements.

    After that Program.cs file should look like this:

        using CrossPlatformBlazor.Data;
        using Microsoft.AspNetCore.Components;
        using Microsoft.AspNetCore.Components.Web;
        using Smart.Blazor;
    
        var builder = WebApplication.CreateBuilder(args);
    
        // Add services to the container.
        builder.Services.AddRazorPages();
        builder.Services.AddServerSideBlazor();
        builder.Services.AddSingleton<WeatherForecastService>();
        // Add Smart UI for Blazor.  
        builder.Services.AddSmart();
        
        var app = builder.Build();
        
        // Configure the HTTP request pipeline.
        if (!app.Environment.IsDevelopment())
        {
            app.UseExceptionHandler("/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }
    
        app.UseHttpsRedirection();
    
        app.UseStaticFiles();
    
        app.UseRouting();
    
        app.MapBlazorHub();
        app.MapFallbackToPage("/_Host");
    
        app.Run();
    
            

    Now you can open the \Pages\Index.razor file and paste the following code:

        @page "/"
        @using CrossPlatformBlazor.Data
        
        @inject WeatherForecastService ForecastService
        
        <h1>Weather forecast</h1>
        
        <p>This component demonstrates fetching data from the server.</p>
        
        @if (forecasts == null)
        {
          <p><em>Loading...</em></p>
        }
        else
        {
          <Table Selection="true" SortMode="TableSortMode.One" class="table">
            <table>
              <thead>
                <tr>
                  <th>Date</th>
                  <th>Temp. (C)</th>
                  <th>Temp. (F)</th>
                  <th>Summary</th>
                </tr>
              </thead>
              <tbody>
                @foreach (var forecast in forecasts)
                {
                  <tr>
                    <td>@forecast.Date.ToShortDateString()</td>
                    <td>@forecast.TemperatureC</td>
                    <td>@forecast.TemperatureF</td>
                    <td>@forecast.Summary</td>
                  </tr>
                }
              </tbody>
            </table>
          </Table>
        }
        
        @code {
          private WeatherForecast[] forecasts;
        
          protected override async Task OnInitializedAsync()
          {
            forecasts = await ForecastService.GetForecastAsync(DateTime.Now);
          }
        }
          

    We are ready with the web part of our application. If you run the project you should see the following result:

    Blazor Server Result

    Windows Forms Blazor

    The next step is to add a new Windows Forms App to the solution. We will name it WinFormsBlazor.

    Create WinForms App

    Add the Smart.Blazor and Microsoft.AspNetCore.Components.WebView.WindowsForms NuGet packages to the project.

    WinForms NuGet Packages
    After that add a wwwroot folder which should contain an index.html file and a css folder.
    You can copy the css folder from CrossPlatformBlazor project's wwwroot folder and the index.html file should look like this:

        <!DOCTYPE html>
        <html>
    
        <head>
            <meta charset="utf-8" />
            <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
            <title>Blazor WinForms app</title>
            <base href="/" />
            <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
            <link href="css/site.css" rel="stylesheet" />
            <link href="WinFormsBlazor.styles.css" rel="stylesheet" />
            <link href="_content/Smart.Blazor/css/smart.default.css" rel="stylesheet" />
    
        </head>
    
        <body>
    
            <div id="app"></div>
    
            <div id="blazor-error-ui">
                An unhandled error has occurred.
                <a href="" class="reload">Reload</a>
                <a class="dismiss">🗙</a>
            </div>
    
            <script src="_framework/blazor.webview.js"></script>
            <script src="_content/Smart.Blazor/js/smart.blazor.js"></script>
            <script src="_content/Smart.Blazor/js/smart.elements.js"></script>
        </body>
    
        </html>
            

    Blazor Class Library

    We will extract the code shared between the Blazor Desktop app and the Blazor Server app in a separate Razor Class Library that we will call BlazorClassLibrary.
    Create Razor Class Library
    Again, add Smart.Blazor NuGet package to the project.

    Then in the project file BlazorClassLibrary.csproj replace:

        <Nullable>enable</Nullable>
            
    with
        <AddRazorSupportForMvc>true</AddRazorSupportForMvc>
            
    and add:
        <ItemGroup>
            <FrameworkReference Include="Microsoft.AspNetCore.App" /> 
        </ItemGroup>
            
    Note, that you need to add a reference to the class library in the Blazor Server App and the Windows Forms App by right-clicking on them and choosing Add Project Refrence...
    Project References
    Now you can move Data, Pages, Shared and wwwroot folders and _Imports.razor and App.Razor files from CrossPlatformBlazor to BlazorClassLibrary.
    Moved Files
    Then you should fix the reference of ILogger inside \Pages\Error.cshtml.cs by adding:
        using Microsoft.Extensions.Logging;
            
    Inside _Imports.razor replace:
        @using CrossPlatformBlazor
        @using CrossPlatformBlazor.Shared
            
    with
        @using BlazorClassLibrary 
        @using BlazorClassLibrary.Shared
            
    Inside \Pages\_Layout.cshtml file you need to change the references of the css files by replacing:
        <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
        <link href="css/site.css" rel="stylesheet" />
            
    with
        <link rel="stylesheet" href="_content/BlazorClassLibrary/css/bootstrap/bootstrap.min.css" />
        <link href="_content/BlazorClassLibrary/css/site.css" rel="stylesheet" />
            
    And finally, inside \Pages\_Host.cshtml add:
        @using BlazorClassLibrary
            

    Final Configurations

    Lastly, in the WinFormsBlazor project you should open the Form1.cs file and paste this code:

        using BlazorClassLibrary;
        using CrossPlatformBlazor.Data;
        using Microsoft.AspNetCore.Components.WebView.WindowsForms;
        using Microsoft.Extensions.DependencyInjection;
        using Smart.Blazor;
    
        namespace WinFormsBlazor
        {
            public partial class Form1 : System.Windows.Forms.Form
            {
                public Form1()
                {
                    var serviceCollection = new ServiceCollection();
                    serviceCollection.AddBlazorWebView();
                
                    serviceCollection.AddSingleton<WeatherForecastService>();
                
                    serviceCollection.AddSmart();
                
                    InitializeComponent();
                
                    blazorWebView1.HostPage = @"wwwroot\index.html";
                    blazorWebView1.Services = serviceCollection.BuildServiceProvider();
                    blazorWebView1.RootComponents.Add<App>("#app");
                }
            }
        }
            
    Then open also the Form1.Designer.cs file and paste the following code:
        namespace WinFormsBlazor
        {
            partial class Form1
            {
                /// <summary>
                ///  Required designer variable.
                /// </summary>
                private System.ComponentModel.IContainer components = null;
                
                /// <summary>
                ///  Clean up any resources being used.
                /// </summary>
                /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
                protected override void Dispose(bool disposing)
                {
                    if (disposing && (components != null))
                    {
                        components.Dispose();
                    }
                    base.Dispose(disposing);
                }
              
                #region Windows Form Designer generated code
              
                /// <summary>
                ///  Required method for Designer support - do not modify
                ///  the contents of this method with the code editor.
                /// </summary>
                private void InitializeComponent()
                {
                    this.blazorWebView1 = new Microsoft.AspNetCore.Components.WebView.WindowsForms.BlazorWebView();
                    this.SuspendLayout();
                    // 
                    // blazorWebView1
                    // 
                    this.blazorWebView1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
                    | System.Windows.Forms.AnchorStyles.Left) 
                    | System.Windows.Forms.AnchorStyles.Right)));
                    this.blazorWebView1.Location = new System.Drawing.Point(3, 7);
                    this.blazorWebView1.Name = "blazorWebView1";
                    this.blazorWebView1.Size = new System.Drawing.Size(796, 436);
                    this.blazorWebView1.TabIndex = 20;
                    // 
                    // Form1
                    // 
                    this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 20F);
                    this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
                    this.ClientSize = new System.Drawing.Size(800, 450);
                    this.Controls.Add(this.blazorWebView1);
                    this.Name = "Form1";
                    this.Text = "Form1";
                    this.ResumeLayout(false);
                
                }
              
                #endregion
              
                private Microsoft.AspNetCore.Components.WebView.WindowsForms.BlazorWebView blazorWebView1;
            }
        }
          
    The last thing you need to do is to open the WinFormsBlazor's project file WinFormsBlazor.csproj and change the first line to:
        <Project Sdk="Microsoft.NET.Sdk.Razor">
          
    and add the following lines:
        <ItemGroup>
          <Content Update="wwwroot\**">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
          </Content>
        </ItemGroup>
        
        <ItemGroup>
          <Content Update="wwwroot\css\site.css">
            <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
            <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
            <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
          </Content>
        </ItemGroup>
          

    Now if you start both the CrossPlatformBlazor and WinFormsBlazor projects you should get the following result:
    Blazor CrossPlatform

    Uncategorized
    , , , , ,

    Leave a comment

    Smart UI v12.0.0

    Smart UI v12.0.0 Release, Jan-20-2022

    What's New:

    • Kanban Edit Task dialog.
    • Kanban Color entire Task card.
    • Kanban Dynamic Task Card Priority Menu.
    • Kanban Dynamic Task Card Subtasks Menu.
    • Kanban option to hide columns and reset the hidden columns.
    • Grid show/hide columns dialog is extended with Reset option.
    • Grid Summary row option to edit dynamically the summaries.
    • Grid Summary row dynamically re-calculated based on user selection & filtering.
    • Grid Tags template, Image Template and List Template. Improves the cells rendering for specific column types.
    • Grid Row Edit history dialog, when the user and users properties are set.

    What's Fixed:

    • Fixed an issue in the Grid component about MultiComboInput editor cells rendering when color items are selected.
    • Fixed an issue in the Grid component about row resizing. After a row is resized, occasionally the row selection was broken.
    • Fixed an issue in the Grid component about DateTimePicker editor. When editing a date cell and pressing Enter key the value was not saved.
    • Fixed an issue in the Grid component about editing validation.
    • Fixed an issue in the Grid component about row editing with dialog. Editors with "autoOpen" property were incorrectly opened in the dialog.
    • Fixed an issue in the Grid component about the max-height setting when the Grid's toolbar is displayed.
    • Fixed an issue in the NumberInput component when editing percentages.
    • Fixed an issue in the Kanban component about Task editing. The 'change' event was incorrectly fired.
    • Fixed an issue in the Kanban component about the rendering of the add new task buttons.
    • Fixed an issue in the Blazor DateInput about the DateTimeFormat property setting.
    Angular, HTML Elements, Javascript, React, Smart Accordion, Smart Button, Smart Calendar, Smart ComboBox, Smart Grid, Smart ListBox, Smart Tabs, Smart.Chart, Vue, Web Components
    , ,

    Leave a comment