npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

smart-webcomponents

v27.1.0

Published

Enterprise-grade UI components for the web, built as standards-based Custom Elements with no third-party dependencies.

Readme

Smart UI - 75+ Enterprise Web Components and Custom Elements

smart-webcomponents is a commercial UI component library of 77 standards-based custom elements, including a data grid, pivot table, scheduler, Gantt chart, Kanban board, charts and a rich text editor. It has no third-party dependencies and works in plain HTML or with any framework.

npm version npm downloads Price

Live demos · Documentation · Theme Builder · Pricing and licensing

Smart UI data grid web component with dark mode theme

Contents

What is Smart UI?

Smart UI is a library of UI components built as native custom elements. Because the components are standard HTML elements, they run directly in plain HTML pages and in any framework, including Angular, React, Vue and Svelte.

The library targets data-heavy business applications: sortable and filterable data grids, pivot tables, schedulers, Gantt charts and dashboards. It is written in plain JavaScript with no third-party runtime dependencies, and TypeScript definitions are included.

Installation

npm install smart-webcomponents

Quick start

Load a theme and the component bundle, then use the element:

<link rel="stylesheet" href="node_modules/smart-webcomponents/source/styles/smart.default.css" />
<script src="node_modules/smart-webcomponents/source/smart.elements.js"></script>

<smart-grid id="grid"></smart-grid>

Data grid example

<smart-grid id="grid"></smart-grid>

<script>
  const grid = document.getElementById('grid');

  grid.sorting = { enabled: true };
  grid.filtering = { enabled: true };
  grid.dataSource = new window.Smart.DataAdapter({
    dataSource: [
      { firstName: 'Andrew', lastName: 'Burke', quantity: 3 },
      { firstName: 'Nancy', lastName: 'Devolder', quantity: 5 }
    ],
    dataFields: ['firstName: string', 'lastName: string', 'quantity: number']
  });
</script>

Loading only what you use

source/smart.elements.js contains every component. To keep the bundle small, import individual ES modules instead, each of which pulls in its own dependencies:

import 'smart-webcomponents/source/styles/smart.default.css';
import 'smart-webcomponents/source/modules/smart.grid.js';

source/modules/ holds one ES module per component. source/smart.element.js is the framework core on its own, for building custom elements against it.

Components

77 components ship in the package. Each name links to its API reference.

Data grids and tables

Grid · Table · Pivot Table · Card View · Query Builder · Pager · Array · Sortable

Scheduling and project management

Scheduler · Gantt Chart · Kanban · Timeline · Calendar

Charts and data visualization

Chart · 3D Chart · Gauge · Tank · Led · Progress Bar · Path · Map · Bar Code · QR Code

Layout and navigation

Docking Layout · Accordion · Tabs · Window · Splitter · Menu · List Menu · Ribbon · Breadcrumb · Carousel · Card · Chip · Toast · Tooltip · Scroll Bar

Editors and inputs

Editor · Input · Text Box · Text Area · Multiline Text Box · Masked Text Box · Numeric Text Box · Number Input · Password Text Box · Password Input · Combo Box · Multi Combo Input · Multi Input · Drop Down List · Drop Down Button · List Box · Tree · Date Time Picker · Date Input · Date Range Input · Time Input · Time Picker · Check Input · Country Input · Phone Input · Color Picker · Color Panel · Color Input · File Upload · Rating · Slider · Form · Validator

Buttons

Button · Button Group · Switch Button · Radio Button · Check Box · Multi Split Button

Theming

137 prebuilt theme stylesheets ship in the package, across six families - Default, Bootstrap, Material, Fluent, Strata and Tabula - each with light and dark modes and accent-color variants. Swap a single stylesheet to restyle the whole application:

<link rel="stylesheet"
      href="node_modules/smart-webcomponents/source/styles/material/dark/smart.material-dark.blue.css" />

| Family | Light | Dark | Location | | --- | --- | --- | --- | | Default | 10 | 9 | source/styles/ | | Bootstrap | 12 | 12 | source/styles/bootstrap/light/, source/styles/bootstrap/dark/ | | Material | 12 | 12 | source/styles/material/light/, source/styles/material/dark/ | | Fluent | 12 | 12 | source/styles/fluent/light/, source/styles/fluent/dark/ | | Strata | 11 | 11 | source/styles/strata/light/, source/styles/strata/dark/ | | Tabula | 12 | 12 | source/styles/tabula/light/, source/styles/tabula/dark/ |

Every family except Default ships a base stylesheet plus accent variants in black, blue, cyan, green, indigo, orange, pink, purple, red, teal and turquoise. Strata omits black. The Default family uses smart.default.css with smart.<accent>.css and smart.dark-<accent>.css variants.

Dark stylesheets are named for their family, so material/dark/smart.material-dark.blue.css is the blue accent of Material Dark. Bootstrap keeps the same filenames in both folders, so the light and dark variants are distinguished by directory.

Per-component stylesheets are available in source/styles/default/ if you prefer to load only the CSS for the components you use.

Custom palettes can be generated with the Theme Builder.

TypeScript

Type definitions for every component are included in the typescript/ directory:

/// <reference path="node_modules/smart-webcomponents/typescript/smart.grid.d.ts" />

Frequently asked questions

Do Smart UI components work without a framework?

Yes. They are native custom elements, so they work in a plain HTML page with a <script> tag and no build step.

Do they work with React, Angular or Vue?

Yes. They can be used directly in any framework, and dedicated packages with framework-native APIs are published for React and Angular.

Is Smart UI free?

No. It is a commercial library. You can evaluate it free for 30 days with full technical support; a license is required for production use. A free, open-source subset is published as smart-webcomponents-community.

Does it have third-party dependencies?

No. The library is plain JavaScript with no runtime dependencies.

How many themes are included?

137 prebuilt stylesheets across six families: Default, Bootstrap, Material, Fluent, Strata and Tabula. Each family ships light and dark modes with accent variants in black, blue, cyan, green, indigo, orange, pink, purple, red, teal and turquoise. Custom palettes can be built with the Theme Builder.

Does it include TypeScript definitions?

Yes, in the typescript/ directory, with one .d.ts per component.

Which browsers are supported?

Current versions of Chrome, Edge, Firefox, Safari and Opera.

Related packages

| Package | Description | | --- | --- | | smart-webcomponents-angular | Angular modules | | smart-webcomponents-react | React components | | smart-webcomponents-community | Free, open-source subset | | smart-industrial | Smart.Industrial: HMI, SCADA and test-and-measurement components, with smart-industrial/angular and smart-industrial/react entry points; not part of this package |

License

Commercial. Free 30-day evaluation with technical support; a license is required for production use. See https://www.htmlelements.com/license/. The EULA ships in the package as EULA.pdf.

Support: [email protected] · Forum