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

jqwidgets-scripts

v27.0.1

Published

jQWidgets UI components for JavaScript, jQuery, React, Vue and TypeScript - 82 widgets including a data grid, scheduler, Gantt chart, pivot grid, tree grid and charts, with 40 themes.

Readme

jqwidgets-scripts

jQWidgets - JavaScript UI components for jQuery, React, Vue and TypeScript: an enterprise data grid, scheduler, Gantt chart, pivot grid, tree grid, 30+ chart types, editors, date and number inputs, drop-downs, menus, tabs, docking and layout - 82 widgets in one library, with 40 themes. This package is the library itself; jqwidgets-framework adds the demos and images, and jqwidgets-ng is the Angular library.

Demos · React demos · Documentation · License & pricing

jQWidgets is commercial software. See Licensing.

Installation

npm install jqwidgets-scripts

What is in the package

| Path | Contents | |---|---| | jqwidgets/ | The widgets, one script per widget, plus jqxcore.js (required by every widget) and jqx-all.js (everything in one file) | | jqwidgets/modules/ | One self-contained bundle per widget - the widget and everything it depends on | | jqwidgets/styles/ | jqx.base.css (required) and the 40 theme stylesheets | | jqwidgets/globalization/ | Globalize and 13 culture files for date and number formatting | | jqwidgets-react-tsx/ | React components, one folder per widget, with TypeScript definitions | | jqwidgets-vue3/ | Vue 3 single-file components | | jqwidgets-vue/ | Vue 2 single-file components (Vue 2 reached end of life in December 2023) | | jqwidgets-ts/ | jqwidgets.d.ts, TypeScript definitions for the whole library | | ReleaseNotes.txt, EULA.pdf | What changed in this version, and the license terms |

Quick start

Every widget needs jqxcore.js, its own script, and jqx.base.css plus one theme. Some widgets depend on others - the grid on jqxdata.js, jqxbuttons.js, jqxscrollbar.js, jqxmenu.js and jqxgrid.selection.js, for example, with more for sorting, filtering, paging and editing. The documentation page of each widget lists its dependencies, or load the widget's module bundle, which carries all of them.

Plain JavaScript or jQuery

<link rel="stylesheet" href="node_modules/jqwidgets-scripts/jqwidgets/styles/jqx.base.css" />
<link rel="stylesheet" href="node_modules/jqwidgets-scripts/jqwidgets/styles/jqx.material.css" />

<script src="node_modules/jqwidgets-scripts/jqwidgets/jqxcore.js"></script>
<script src="node_modules/jqwidgets-scripts/jqwidgets/jqxdata.js"></script>
<script src="node_modules/jqwidgets-scripts/jqwidgets/jqxbuttons.js"></script>
<script src="node_modules/jqwidgets-scripts/jqwidgets/jqxscrollbar.js"></script>
<script src="node_modules/jqwidgets-scripts/jqwidgets/jqxmenu.js"></script>
<script src="node_modules/jqwidgets-scripts/jqwidgets/jqxgrid.js"></script>
<script src="node_modules/jqwidgets-scripts/jqwidgets/jqxgrid.selection.js"></script>

<div id="grid"></div>
<script>
    var source = {
        datatype: 'array',
        localdata: [{ name: 'Nancy', title: 'Sales Representative' }, { name: 'Andrew', title: 'Vice President' }],
        datafields: [{ name: 'name', type: 'string' }, { name: 'title', type: 'string' }]
    };
    $('#grid').jqxGrid({
        theme: 'material',
        source: new $.jqx.dataAdapter(source),
        columns: [{ text: 'Name', datafield: 'name' }, { text: 'Title', datafield: 'title' }]
    });
</script>

jQuery is optional. If jQuery is on the page before jqxcore.js, the widgets attach to it; otherwise they use the built-in JQXLite, which is also exposed as $. Either way the API above is the same.

One bundle per widget

jqwidgets/modules/<widget>.js carries the widget with every script it depends on, so the dependency list above becomes one tag - or one import, in a bundled application:

<script src="node_modules/jqwidgets-scripts/jqwidgets/modules/jqxgrid.js"></script>
import 'jqwidgets-scripts/jqwidgets/modules/jqxgrid';

jqwidgets/jqx-all.js is the whole library in one file, for pages that use many widgets. Load either a module bundle or the individual scripts, not both for the same widget.

React

The components pull in their own runtime; you add the stylesheets.

import 'jqwidgets-scripts/jqwidgets/styles/jqx.base.css';
import 'jqwidgets-scripts/jqwidgets/styles/jqx.material.css';
import JqxGrid, { jqx } from 'jqwidgets-scripts/jqwidgets-react-tsx/jqxgrid';

const source = new jqx.dataAdapter({
    datatype: 'array',
    localdata: [{ name: 'Nancy', title: 'Sales Representative' }],
    datafields: [{ name: 'name', type: 'string' }, { name: 'title', type: 'string' }]
});

export default function App() {
    return <JqxGrid theme="material" width={500} source={source}
        columns={[{ text: 'Name', datafield: 'name' }, { text: 'Title', datafield: 'title' }]} />;
}

React 16.8 through 19 are supported. Each component folder has an ES module, a UMD build and a .d.ts.

Vue 3

<template>
    <JqxGrid theme="material" :width="500" :source="source" :columns="columns" />
</template>

<script setup>
import 'jqwidgets-scripts/jqwidgets/styles/jqx.base.css';
import 'jqwidgets-scripts/jqwidgets/styles/jqx.material.css';
import JqxGrid from 'jqwidgets-scripts/jqwidgets-vue3/vue_jqxgrid.vue';
</script>

TypeScript

/// <reference path="node_modules/jqwidgets-scripts/jqwidgets-ts/jqwidgets.d.ts" />

The definitions cover every widget's options, methods and events under the jqwidgets namespace, and are what the React and Vue components are typed with.

Components

Every widget follows one naming convention, so the table is enough to write the code: the jQuery plugin is jqxGrid, its script jqwidgets/jqxgrid.js, its bundle jqwidgets/modules/jqxgrid.js, the React component JqxGrid imported from jqwidgets-scripts/jqwidgets-react-tsx/jqxgrid, the Vue 3 component jqwidgets-scripts/jqwidgets-vue3/vue_jqxgrid.vue, and in jqwidgets-ng the entry point jqwidgets-ng/jqxgrid. Option, event and method names are the same in every framework and are documented once, per widget, at jqwidgets.com/jquery-widgets-documentation.

| Widget | What it does | jQuery / JavaScript | React | Vue 3 | Angular | |---|---|---|---|---|---| | jqxBarcode | Barcodes encodes value in a specific pattern. | jqxbarcode.js · modules/jqxbarcode.js | JqxBarcode from jqwidgets-react-tsx/jqxbarcode | vue_jqxbarcode.vue | jqwidgets-ng/jqxbarcode | | jqxBarGauge | Displays multiple values in a circular graph. | jqxbargauge.js · modules/jqxbargauge.js | JqxBarGauge from jqwidgets-react-tsx/jqxbargauge | vue_jqxbargauge.vue | jqwidgets-ng/jqxbargauge | | jqxBulletChart | Features two measures - a primary one (the pointer) and a comparative one (the target) and displays them in the context of a number of... | jqxbulletchart.js · modules/jqxbulletchart.js | JqxBulletChart from jqwidgets-react-tsx/jqxbulletchart | vue_jqxbulletchart.vue | jqwidgets-ng/jqxbulletchart | | jqxButtonGroup | Enables the creation of groups of buttons. | jqxbuttongroup.js · modules/jqxbuttongroup.js | JqxButtonGroup from jqwidgets-react-tsx/jqxbuttongroup | vue_jqxbuttongroup.vue | jqwidgets-ng/jqxbuttongroup | | jqxButton | Displays a simple button. | jqxbuttons.js · modules/jqxbuttons.js | JqxButton from jqwidgets-react-tsx/jqxbuttons | vue_jqxbuttons.vue | jqwidgets-ng/jqxbuttons | | jqxCalendar | Enables the user to select a date using a visual monthly calendar display. | jqxcalendar.js · modules/jqxcalendar.js | JqxCalendar from jqwidgets-react-tsx/jqxcalendar | vue_jqxcalendar.vue | jqwidgets-ng/jqxcalendar | | jqxChart | Displays Lightweight and powerful chart widget written 100% in javascript. | jqxchart.js · modules/jqxchart.js | JqxChart from jqwidgets-react-tsx/jqxchart | vue_jqxchart.vue | jqwidgets-ng/jqxchart | | jqxChat | Embeds an AI assistant chat into a web application. | jqxchat.js · modules/jqxchat.js | JqxChat from jqwidgets-react-tsx/jqxchat | vue_jqxchat.vue | jqwidgets-ng/jqxchat | | jqxCheckBox | Displays a check box that allows the end-user to select a true, false or indeterminate condition. | jqxcheckbox.js · modules/jqxcheckbox.js | JqxCheckBox from jqwidgets-react-tsx/jqxcheckbox | vue_jqxcheckbox.vue | jqwidgets-ng/jqxcheckbox | | jqxCheckBoxGroup | Displays a check box group of items. | jqxcheckboxgroup.js · modules/jqxcheckboxgroup.js | JqxCheckBoxGroup from jqwidgets-react-tsx/jqxcheckboxgroup | vue_jqxcheckboxgroup.vue | jqwidgets-ng/jqxcheckboxgroup | | jqxColorPicker | Enables the user to easily pick a color. | jqxcolorpicker.js · modules/jqxcolorpicker.js | JqxColorPicker from jqwidgets-react-tsx/jqxcolorpicker | vue_jqxcolorpicker.vue | jqwidgets-ng/jqxcolorpicker | | jqxComboBox | Enables the user to easily pick an item from a list of selectable items displayed in a drop-down. | jqxcombobox.js · modules/jqxcombobox.js | JqxComboBox from jqwidgets-react-tsx/jqxcombobox | vue_jqxcombobox.vue | jqwidgets-ng/jqxcombobox | | jqxComplexInput | Enables the user to edit complex and scientific numbers. | jqxcomplexinput.js · modules/jqxcomplexinput.js | JqxComplexInput from jqwidgets-react-tsx/jqxcomplexinput | vue_jqxcomplexinput.vue | jqwidgets-ng/jqxcomplexinput | | jqxDataTable | Displays a table of data and allows the user to sort, filter or edit it. | jqxdatatable.js · modules/jqxdatatable.js | JqxDataTable from jqwidgets-react-tsx/jqxdatatable | vue_jqxdatatable.vue | jqwidgets-ng/jqxdatatable | | jqxDateTimeInput | Enables the user to easily pick a date or time from an input or calendar displays in a drop-down. | jqxdatetimeinput.js · modules/jqxdatetimeinput.js | JqxDateTimeInput from jqwidgets-react-tsx/jqxdatetimeinput | vue_jqxdatetimeinput.vue | jqwidgets-ng/jqxdatetimeinput | | jqxDocking | Enables the user to add windows and change their layout. | jqxdocking.js · modules/jqxdocking.js | JqxDocking from jqwidgets-react-tsx/jqxdocking | vue_jqxdocking.vue | jqwidgets-ng/jqxdocking | | jqxDockingLayout | Enables the creation of complex layouts with panels that can be floated, docked, nested, resized, pinned, unpinned and closed. | jqxdockinglayout.js · modules/jqxdockinglayout.js | JqxDockingLayout from jqwidgets-react-tsx/jqxdockinglayout | vue_jqxdockinglayout.vue | jqwidgets-ng/jqxdockinglayout | | jqxDockPanel | Allows the creation of dock layouts. | jqxdockpanel.js · modules/jqxdockpanel.js | JqxDockPanel from jqwidgets-react-tsx/jqxdockpanel | vue_jqxdockpanel.vue | jqwidgets-ng/jqxdockpanel | | jqxDragDrop | Enables the user to easily drag and drop items. | jqxdragdrop.js · modules/jqxdragdrop.js | JqxDragDrop from jqwidgets-react-tsx/jqxdragdrop | vue_jqxdragdrop.vue | jqwidgets-ng/jqxdragdrop | | jqxDraw | Drawing SVG, HTML5 and VML programming interface. | jqxdraw.js · modules/jqxdraw.js | JqxDraw from jqwidgets-react-tsx/jqxdraw | vue_jqxdraw.vue | jqwidgets-ng/jqxdraw | | jqxDropDownButton | Contains a custom content displayed in a drop-down. | jqxdropdownbutton.js · modules/jqxdropdownbutton.js | JqxDropDownButton from jqwidgets-react-tsx/jqxdropdownbutton | vue_jqxdropdownbutton.vue | jqwidgets-ng/jqxdropdownbutton | | jqxDropDownList | Contains a list of selectable items displayed in a drop-down. | jqxdropdownlist.js · modules/jqxdropdownlist.js | JqxDropDownList from jqwidgets-react-tsx/jqxdropdownlist | vue_jqxdropdownlist.vue | jqwidgets-ng/jqxdropdownlist | | jqxEditor | Represents a ready-for-use HTML text editor which can simplify web content creation or be a replacement of your HTML Text Areas. | jqxeditor.js · modules/jqxeditor.js | JqxEditor from jqwidgets-react-tsx/jqxeditor | vue_jqxeditor.vue | jqwidgets-ng/jqxeditor | | jqxExpander | Displays header and content sections(like tabs). | jqxexpander.js · modules/jqxexpander.js | JqxExpander from jqwidgets-react-tsx/jqxexpander | vue_jqxexpander.vue | jqwidgets-ng/jqxexpander | | jqxFileUpload | Enables users to select files and upload them to a server. | jqxfileupload.js · modules/jqxfileupload.js | JqxFileUpload from jqwidgets-react-tsx/jqxfileupload | vue_jqxfileupload.vue | jqwidgets-ng/jqxfileupload | | jqxForm | Form component displaying one or more input elements. | jqxform.js · modules/jqxform.js | JqxForm from jqwidgets-react-tsx/jqxform | vue_jqxform.vue | jqwidgets-ng/jqxform | | jqxFormattedInput | Enables users to format numbers in various numeric formats. | jqxformattedinput.js · modules/jqxformattedinput.js | JqxFormattedInput from jqwidgets-react-tsx/jqxformattedinput | vue_jqxformattedinput.vue | jqwidgets-ng/jqxformattedinput | | jqxGantt | Enables users to create easily Gantt charts | jqxgantt.js · modules/jqxgantt.js | JqxGantt from jqwidgets-react-tsx/jqxgantt | vue_jqxgantt.vue | jqwidgets-ng/jqxgantt | | jqxGauge | Displays an indicator within a range of values. | jqxgauge.js · modules/jqxgauge.js | JqxGauge from jqwidgets-react-tsx/jqxgauge | vue_jqxgauge.vue | jqwidgets-ng/jqxgauge | | jqxGrid | Enables users to display tabular data. | jqxgrid.js · modules/jqxgrid.js | JqxGrid from jqwidgets-react-tsx/jqxgrid | vue_jqxgrid.vue | jqwidgets-ng/jqxgrid | | jqxHeatMap | Displays a heatmap. | jqxheatmap.js · modules/jqxheatmap.js | JqxHeatMap from jqwidgets-react-tsx/jqxheatmap | vue_jqxheatmap.vue | jqwidgets-ng/jqxheatmap | | jqxInput | Represents an Input with auto-complete capabilities. | jqxinput.js · modules/jqxinput.js | JqxInput from jqwidgets-react-tsx/jqxinput | vue_jqxinput.vue | jqwidgets-ng/jqxinput | | jqxKanban | Can be used to implement the kanban method for a project. | jqxkanban.js · modules/jqxkanban.js | JqxKanban from jqwidgets-react-tsx/jqxkanban | vue_jqxkanban.vue | jqwidgets-ng/jqxkanban | | jqxKnob | Displays a graph with round shape which displays a draggable indicator within a range of values. | jqxknob.js · modules/jqxknob.js | JqxKnob from jqwidgets-react-tsx/jqxknob | vue_jqxknob.vue | jqwidgets-ng/jqxknob | | jqxLayout | Allows the creation of complex layouts with panels that can be nested, resized, pinned, unpinned and closed. | jqxlayout.js · modules/jqxlayout.js | JqxLayout from jqwidgets-react-tsx/jqxlayout | vue_jqxlayout.vue | jqwidgets-ng/jqxlayout | | jqxLinearGauge | Displays a linear gauge. | jqxgauge.js · modules/jqxlineargauge.js | JqxLinearGauge from jqwidgets-react-tsx/jqxlineargauge | vue_jqxlineargauge.vue | jqwidgets-ng/jqxlineargauge | | jqxLinkButton | Displays a button with anchor tag. | jqxbuttons.js · modules/jqxlinkbutton.js | JqxLinkButton from jqwidgets-react-tsx/jqxlinkbutton | vue_jqxlinkbutton.vue | jqwidgets-ng/jqxlinkbutton | | jqxListBox | Displays a list of selectable items. | jqxlistbox.js · modules/jqxlistbox.js | JqxListBox from jqwidgets-react-tsx/jqxlistbox | vue_jqxlistbox.vue | jqwidgets-ng/jqxlistbox | | jqxListMenu | Displays a collection of Unordered and Ordered Lists. | jqxlistmenu.js · modules/jqxlistmenu.js | JqxListMenu from jqwidgets-react-tsx/jqxlistmenu | vue_jqxlistmenu.vue | jqwidgets-ng/jqxlistmenu | | jqxLoader | Displays a built-in loading element. | jqxloader.js · modules/jqxloader.js | JqxLoader from jqwidgets-react-tsx/jqxloader | vue_jqxloader.vue | jqwidgets-ng/jqxloader | | jqxMaskedInput | Uses a mask to distinguish between proper and improper user input. | jqxmaskedinput.js · modules/jqxmaskedinput.js | JqxMaskedInput from jqwidgets-react-tsx/jqxmaskedinput | vue_jqxmaskedinput.vue | jqwidgets-ng/jqxmaskedinput | | jqxMenu | Enables you to add menus to your website or web application. | jqxmenu.js · modules/jqxmenu.js | JqxMenu from jqwidgets-react-tsx/jqxmenu | vue_jqxmenu.vue | jqwidgets-ng/jqxmenu | | jqxNavBar | Is Built from UL and LI tags and can be used for creating responsive horizontal/vertical layouts or simple navigation menus. | jqxnavbar.js · modules/jqxnavbar.js | JqxNavBar from jqwidgets-react-tsx/jqxnavbar | vue_jqxnavbar.vue | jqwidgets-ng/jqxnavbar | | jqxNavigationBar | Is Similar to Tabs, NavigationBar has header and content sections. | jqxnavigationbar.js · modules/jqxnavigationbar.js | JqxNavigationBar from jqwidgets-react-tsx/jqxnavigationbar | vue_jqxnavigationbar.vue | jqwidgets-ng/jqxnavigationbar | | jqxNotification | Displays an unobtrusive notification to the user. | jqxnotification.js · modules/jqxnotification.js | JqxNotification from jqwidgets-react-tsx/jqxnotification | vue_jqxnotification.vue | jqwidgets-ng/jqxnotification | | jqxNumberInput | Enables users to input numbers. | jqxnumberinput.js · modules/jqxnumberinput.js | JqxNumberInput from jqwidgets-react-tsx/jqxnumberinput | vue_jqxnumberinput.vue | jqwidgets-ng/jqxnumberinput | | jqxPanel | Enables users to display content in a scrollable panel. | jqxpanel.js · modules/jqxpanel.js | JqxPanel from jqwidgets-react-tsx/jqxpanel | vue_jqxpanel.vue | jqwidgets-ng/jqxpanel | | jqxPasswordInput | Enables users to input passwords. | jqxpasswordinput.js · modules/jqxpasswordinput.js | JqxPasswordInput from jqwidgets-react-tsx/jqxpasswordinput | vue_jqxpasswordinput.vue | jqwidgets-ng/jqxpasswordinput | | jqxPickList | A dual-list picker for moving items between an available list and a selected list. | jqxpicklist.js · modules/jqxpicklist.js | JqxPickList from jqwidgets-react-tsx/jqxpicklist | vue_jqxpicklist.vue | jqwidgets-ng/jqxpicklist | | jqxPivotDesigner | Lets users design a PivotGrid interactively. | jqxpivotdesigner.js · modules/jqxpivotdesigner.js | JqxPivotDesigner from jqwidgets-react-tsx/jqxpivotdesigner | vue_jqxpivotdesigner.vue | jqwidgets-ng/jqxpivotdesigner | | jqxPivotGrid | Displays summarized data in a multi-dimensional, cross-tabulated view. | jqxpivotgrid.js · modules/jqxpivotgrid.js | JqxPivotGrid from jqwidgets-react-tsx/jqxpivotgrid | vue_jqxpivotgrid.vue | jqwidgets-ng/jqxpivotgrid | | jqxPopover | Displays a Small overlay of content that is used to display secondary information of any element when it is clicked by a user. | jqxpopover.js · modules/jqxpopover.js | JqxPopover from jqwidgets-react-tsx/jqxpopover | vue_jqxpopover.vue | jqwidgets-ng/jqxpopover | | jqxProgressBar | Visually indicates the progress of a lengthy operation. | jqxprogressbar.js · modules/jqxprogressbar.js | JqxProgressBar from jqwidgets-react-tsx/jqxprogressbar | vue_jqxprogressbar.vue | jqwidgets-ng/jqxprogressbar | | jqxQRcode | QR Codes encode text values in a two-dimensional pattern. | jqxqrcode.js · modules/jqxqrcode.js | JqxQRcode from jqwidgets-react-tsx/jqxqrcode | vue_jqxqrcode.vue | jqwidgets-ng/jqxqrcode | | jqxRadioButton | Enables users make a choice among a set of mutually exclusive, related options. | jqxradiobutton.js · modules/jqxradiobutton.js | JqxRadioButton from jqwidgets-react-tsx/jqxradiobutton | vue_jqxradiobutton.vue | jqwidgets-ng/jqxradiobutton | | jqxRadioButtonGroup | Displays a check box group of items. | jqxradiobuttongroup.js · modules/jqxradiobuttongroup.js | JqxRadioButtonGroup from jqwidgets-react-tsx/jqxradiobuttongroup | vue_jqxradiobuttongroup.vue | jqwidgets-ng/jqxradiobuttongroup | | jqxRangeSelector | Can easily be used to select a numeric or date range. | jqxrangeselector.js · modules/jqxrangeselector.js | JqxRangeSelector from jqwidgets-react-tsx/jqxrangeselector | vue_jqxrangeselector.vue | jqwidgets-ng/jqxrangeselector | | jqxRating | Allows you to choose a rating. | jqxrating.js · modules/jqxrating.js | JqxRating from jqwidgets-react-tsx/jqxrating | vue_jqxrating.vue | jqwidgets-ng/jqxrating | | jqxRepeatButton | Represents a button, which fires repeating click events, when the button is clicked. | jqxbuttons.js · modules/jqxrepeatbutton.js | JqxRepeatButton from jqwidgets-react-tsx/jqxrepeatbutton | vue_jqxrepeatbutton.vue | jqwidgets-ng/jqxrepeatbutton | | jqxResponsivePanel | Displays responsive panel with collapse point on resize. | jqxresponsivepanel.js · modules/jqxresponsivepanel.js | JqxResponsivePanel from jqwidgets-react-tsx/jqxresponsivepanel | vue_jqxresponsivepanel.vue | jqwidgets-ng/jqxresponsivepanel | | jqxRibbon | Can be used as a tabbed toolbar or a mega menu. | jqxribbon.js · modules/jqxribbon.js | JqxRibbon from jqwidgets-react-tsx/jqxribbon | vue_jqxribbon.vue | jqwidgets-ng/jqxribbon | | jqxScheduler | Displays a set of Appointments in Day, Week, Month, Timeline Day, Timeline Week and Timeline Month and Agenda views. | jqxscheduler.js · modules/jqxscheduler.js | JqxScheduler from jqwidgets-react-tsx/jqxscheduler | vue_jqxscheduler.vue | jqwidgets-ng/jqxscheduler | | jqxScrollBar | Provides a scroll bar that has a sliding thumb whose position corresponds to a value. | jqxscrollbar.js · modules/jqxscrollbar.js | JqxScrollBar from jqwidgets-react-tsx/jqxscrollbar | vue_jqxscrollbar.vue | jqwidgets-ng/jqxscrollbar | | jqxScrollView | Can be used for viewing content which is wider than the visible area outlined by the device's screen. | jqxscrollview.js · modules/jqxscrollview.js | JqxScrollView from jqwidgets-react-tsx/jqxscrollview | vue_jqxscrollview.vue | jqwidgets-ng/jqxscrollview | | jqxSlider | Represents a flexible Slider that lets the user select from a range of values by moving a thumb along a track. | jqxslider.js · modules/jqxslider.js | JqxSlider from jqwidgets-react-tsx/jqxslider | vue_jqxslider.vue | jqwidgets-ng/jqxslider | | jqxSortable | Enables users to change the position of elements through drag and drop. | jqxsortable.js · modules/jqxsortable.js | JqxSortable from jqwidgets-react-tsx/jqxsortable | vue_jqxsortable.vue | jqwidgets-ng/jqxsortable | | jqxSplitLayout | Enables users to create complex Layouts and to re-arrange them dynamically | jqxsplitlayout.js · modules/jqxsplitlayout.js | JqxSplitLayout from jqwidgets-react-tsx/jqxsplitlayout | vue_jqxsplitlayout.vue | jqwidgets-ng/jqxsplitlayout | | jqxSplitter | Displays a Splitter. It divides two panels with a split bar and the size of each panel can be adjusted through the split bar. | jqxsplitter.js · modules/jqxsplitter.js | JqxSplitter from jqwidgets-react-tsx/jqxsplitter | vue_jqxsplitter.vue | jqwidgets-ng/jqxsplitter | | jqxSwitchButton | Displays a switch button. | jqxswitchbutton.js · modules/jqxswitchbutton.js | JqxSwitchButton from jqwidgets-react-tsx/jqxswitchbutton | vue_jqxswitchbutton.vue | jqwidgets-ng/jqxswitchbutton | | jqxTabs | Displays Tabs that break the content into multiple sections. | jqxtabs.js · modules/jqxtabs.js | JqxTabs from jqwidgets-react-tsx/jqxtabs | vue_jqxtabs.vue | jqwidgets-ng/jqxtabs | | jqxTagCloud | Displays a collection of user-generated tags accompanying the articles, posts, or videos on your website. | jqxtagcloud.js · modules/jqxtagcloud.js | JqxTagCloud from jqwidgets-react-tsx/jqxtagcloud | vue_jqxtagcloud.vue | jqwidgets-ng/jqxtagcloud | | jqxTextArea | Displays a Text area on a web page. | jqxtextarea.js · modules/jqxtextarea.js | JqxTextArea from jqwidgets-react-tsx/jqxtextarea | vue_jqxtextarea.vue | jqwidgets-ng/jqxtextarea | | jqxTimeline | Displays a timeline of items. | jqxtimeline.js · modules/jqxtimeline.js | JqxTimeline from jqwidgets-react-tsx/jqxtimeline | vue_jqxtimeline.vue | jqwidgets-ng/jqxtimeline | | jqxTimePicker | Represents hours and minutes as an o'clock in a circular graph. | jqxtimepicker.js · modules/jqxtimepicker.js | JqxTimePicker from jqwidgets-react-tsx/jqxtimepicker | vue_jqxtimepicker.vue | jqwidgets-ng/jqxtimepicker | | jqxToggleButton | Displays a Button which can be toggled and have two states - checked and unchecked. | jqxbuttons.js · modules/jqxtogglebutton.js | JqxToggleButton from jqwidgets-react-tsx/jqxtogglebutton | vue_jqxtogglebutton.vue | jqwidgets-ng/jqxtogglebutton | | jqxToolBar | Displays a bar with tools such as buttons, drop-downs and others. | jqxtoolbar.js · modules/jqxtoolbar.js | JqxToolBar from jqwidgets-react-tsx/jqxtoolbar | vue_jqxtoolbar.vue | jqwidgets-ng/jqxtoolbar | | jqxTooltip | Enables users to display a popup message. | jqxtooltip.js · modules/jqxtooltip.js | JqxTooltip from jqwidgets-react-tsx/jqxtooltip | vue_jqxtooltip.vue | jqwidgets-ng/jqxtooltip | | jqxTree | Represents a Tree that displays a hierarchical collection of items. | jqxtree.js · modules/jqxtree.js | JqxTree from jqwidgets-react-tsx/jqxtree | vue_jqxtree.vue | jqwidgets-ng/jqxtree | | jqxTreeGrid | Represents data in a tree-like structure. | jqxtreegrid.js · modules/jqxtreegrid.js | JqxTreeGrid from jqwidgets-react-tsx/jqxtreegrid | vue_jqxtreegrid.vue | jqwidgets-ng/jqxtreegrid | | jqxTreeMap | Displays hierarchical data as a set of nested rectangles. | jqxtreemap.js · modules/jqxtreemap.js | JqxTreeMap from jqwidgets-react-tsx/jqxtreemap | vue_jqxtreemap.vue | jqwidgets-ng/jqxtreemap | | jqxValidator | Enables you to validate users input. | jqxvalidator.js · modules/jqxvalidator.js | JqxValidator from jqwidgets-react-tsx/jqxvalidator | vue_jqxvalidator.vue | jqwidgets-ng/jqxvalidator | | jqxWindow | Enables you to direct a user�s attention to a particular activity in your web application, such as entering data or viewing information. | jqxwindow.js · modules/jqxwindow.js | JqxWindow from jqwidgets-react-tsx/jqxwindow | vue_jqxwindow.vue | jqwidgets-ng/jqxwindow |

Themes

jqx.base.css carries the layout and must always be loaded. A theme stylesheet on top of it supplies the colours, fonts and spacing; set it per widget with the theme option, or once for the page:

$.jqx.theme = 'material';

Themes in the package: material, material-green, material-purple, fluent, tailwind, tailwind-dark, bootstrap, light, dark, highcontrast, metro, metrodark, office, web, flat, fresh, arctic, glacier, energyblue, darkblue, orange, summer, black, shinyblack, classic, android, blackberry, mobile, windowsphone, blue, dark-ie, light-ie, and the eight ui-* jQuery UI colour schemes. Custom themes can be built with the online Theme Builder.

Globalization

Load jqwidgets/globalization/globalize.js and the culture files you need, then pass the culture to date- and number-aware widgets:

<script src="node_modules/jqwidgets-scripts/jqwidgets/globalization/globalize.js"></script>
<script src="node_modules/jqwidgets-scripts/jqwidgets/globalization/globalize.culture.de-DE.js"></script>
$('#date').jqxDateTimeInput({ culture: 'de-DE' });

Cultures included: cs-CZ, de-DE, en-CA, en-US, fr-FR, he-IL, hr-HR, hu-HU, it-IT, ja-JP, lt, ru-RU and sa-IN; any other Globalize culture file works the same way. Every widget's own text is localizable through its localization option.

Server-side rendering

The widgets render into the browser DOM. The scripts are inert where there is no document, so they can be part of a server-rendered bundle; create the widgets on the client - under Next.js or Nuxt, load the component with ssr: false.

If something goes wrong

| What you see | Why | What to do | |---|---|---| | $(...).jqxGrid is not a function | The widget's script is not loaded, or was loaded before jqxcore.js | Load jqxcore.js first, then the widget's script - or its module bundle | | Please include jqxinput.js (or another script name) | The widget depends on a script that is not on the page | Load the named script, or the widget's module bundle, which carries every dependency | | $.jqx is undefined | $ is a different library - typically a second jQuery loaded after jqxcore.js | Load jQuery once, before jqxcore.js | | JQXLite is not defined in a bundled application | The runtime was tree-shaken away | Import the widget's module bundle for its side effects: import 'jqwidgets-scripts/jqwidgets/modules/jqxgrid' | | The widget renders unstyled | jqx.base.css or the theme stylesheet is not loaded, or theme names one that is not | Load both; the theme value must match a loaded jqx.<theme>.css | | document is not defined under Next.js or Nuxt | The component was rendered on the server | Load it on the client only (ssr: false) | | "jQWidgets License Key Not Found" in the console, a www.jqwidgets.com label on the widget | The evaluation build is running without a license key | Apply the license key from your license email; see Licensing |

Working with an AI assistant

npx jqwidgets-mcp-server gives Claude Code, Cursor, Copilot and any other MCP client the full API of every widget - properties, methods, events and data types - and a code generator for jQuery, React, Angular and Vue, so generated code uses real names and real options. See jqwidgets-mcp-server on npm.

Licensing

jQWidgets is commercial software distributed under the jQWidgets license; the full terms are in the EULA.pdf shipped with the package. You are welcome to evaluate it. Builds without a license key show an evaluation notice and are not licensed for production use.

Sales and licensing: [email protected]

Support

  • Documentation: https://www.jqwidgets.com/jquery-widgets-documentation/
  • Demos: https://www.jqwidgets.com/jquery-widgets-demo/
  • React demos: https://www.jqwidgets.com/react/
  • Forums: https://www.jqwidgets.com/community/
  • Source and issues: https://github.com/jqwidgets/jQWidgets
  • What changed: ReleaseNotes.txt in the package

Security reports: email [email protected] with a subject line beginning SECURITY:. Please include the affected version and a reproduction; you will hear back from a person within three business days.