Ignite UI for React is distributed across several packages depending on your needs:
| Package | License | Install | Best For |
|---|---|---|---|
igniteui-react |
MIT | npm install igniteui-react |
General UI components (inputs, layouts, notifications, scheduling) |
igniteui-grid-lite |
MIT | npm install igniteui-react igniteui-grid-lite |
Lightweight grid (Grid Lite) — requires both packages, import from igniteui-react/grid-lite |
igniteui-react-grids |
Commercial | npm install igniteui-react-grids (trial) |
Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) |
igniteui-react-charts |
Commercial | npm install igniteui-react-charts (trial) |
Charts (Category, Financial, Pie, Scatter, etc.) |
igniteui-react-maps |
Commercial | npm install igniteui-react-maps (trial) |
Geographic maps |
igniteui-react-gauges |
Commercial | npm install igniteui-react-gauges (trial) |
Radial and linear gauges |
reveal-sdk-wrappers-react |
Commercial | npm install reveal-sdk-wrappers-react |
Embedded BI dashboards (Reveal SDK) |
Note: The lightweight Grid Lite (
IgrGridLitefromigniteui-react/grid-lite) requires installing bothigniteui-reactandigniteui-grid-litepackages. It's a React wrapper component (usesIgrprefix) that works like any other React component — no.register()needed. See CHARTS-GRIDS.md for setup details.
Use the tables below to map a UI need to the right React component. All components use the Igr prefix.
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Text field / text input | IgrInput |
igniteui-react |
Docs |
| Multi-line text | IgrTextarea |
igniteui-react |
Docs |
| Checkbox | IgrCheckbox |
igniteui-react |
Docs |
| On/off toggle | IgrSwitch |
igniteui-react |
Docs |
| Single choice from a list | IgrRadio / IgrRadioGroup |
igniteui-react |
Docs |
| Star / score rating | IgrRating |
igniteui-react |
Docs |
| Formatted / masked text input | IgrMaskInput |
igniteui-react |
Docs |
| Date and time input | IgrDateTimeInput |
igniteui-react |
Docs |
| File upload | IgrFileInput |
igniteui-react |
Docs |
| Simple dropdown / select | IgrSelect |
igniteui-react |
Docs |
| Searchable dropdown, single or multi-select | IgrCombo |
igniteui-react |
Docs |
| Grouped toggle buttons | IgrButtonGroup |
igniteui-react |
Docs |
| Range / numeric slider | IgrSlider |
igniteui-react |
Docs |
| Range slider (two handles) | IgrRangeSlider |
igniteui-react |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Standard clickable button | IgrButton |
igniteui-react |
Docs |
| Icon-only button | IgrIconButton |
igniteui-react |
Docs |
| Click ripple effect | IgrRipple |
igniteui-react |
Docs |
| Removable tag / filter chip | IgrChip |
igniteui-react |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Full calendar view | IgrCalendar |
igniteui-react |
Docs |
| Date picker (popup calendar) | IgrDatepicker |
igniteui-react |
Docs |
| Date range selection | IgrDateRangePicker |
igniteui-react |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Brief auto-dismiss notification | IgrToast |
igniteui-react |
Docs |
| Actionable dismissible notification bar | IgrSnackbar |
igniteui-react |
Docs |
| Persistent status banner | IgrBanner |
igniteui-react |
Docs |
| Modal confirmation or content dialog | IgrDialog |
igniteui-react |
Docs |
| Tooltip on hover | IgrTooltip |
igniteui-react |
Docs |
| Small count / status indicator | IgrBadge |
igniteui-react |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Horizontal progress bar | IgrLinearProgress |
igniteui-react |
Docs |
| Circular / spinner progress | IgrCircularProgress |
igniteui-react |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Generic content card | IgrCard |
igniteui-react |
Docs |
| User avatar / profile image | IgrAvatar |
igniteui-react |
Docs |
| Icon display | IgrIcon |
igniteui-react |
Docs |
| Horizontal or vertical divider | IgrDivider |
igniteui-react |
Docs |
| Collapsible section | IgrExpansionPanel |
igniteui-react |
Docs |
| Multiple collapsible sections | IgrAccordion |
igniteui-react |
Docs |
| Tabbed content panels (with inline content) | IgrTabs (content in IgrTab) |
igniteui-react |
Docs |
| Image / content slideshow | IgrCarousel |
igniteui-react |
Docs |
| Multi-step wizard / onboarding flow | IgrStepper |
igniteui-react |
Docs |
| Resizable, draggable dashboard tiles | IgrTileManager |
igniteui-react |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Top application bar / toolbar | IgrNavbar |
igniteui-react |
Docs |
| Side navigation drawer | IgrNavDrawer |
igniteui-react |
Docs |
| Tab-based navigation (with router) | IgrTabs (label-only, no content) |
igniteui-react |
Docs |
| Context menu / actions dropdown | IgrDropdown |
igniteui-react |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Simple scrollable list | IgrList |
igniteui-react |
Docs |
| Hierarchical / tree data | IgrTree |
igniteui-react |
Docs |
| Tabular data (MIT, lightweight) | IgrGridLite |
igniteui-react/grid-lite (requires both igniteui-react and igniteui-grid-lite packages) |
Docs |
| Full-featured tabular data grid | IgrDataGrid |
igniteui-react-grids |
Docs |
| Nested / master-detail grid | IgrHierarchicalGrid |
igniteui-react-grids |
Docs |
| Parent-child relational tree grid | IgrTreeGrid |
igniteui-react-grids |
Docs |
| Cross-tabulation / BI pivot table | IgrPivotGrid |
igniteui-react-grids |
Docs |
⚠️ IMPORTANT: Chart, gauge, and map components require explicit module registration and a sized container. Import the*Moduleclass and call.register()at module level, and wrap the component in a container with explicitmin-width/min-heightorflex-grow. See CHARTS-GRIDS.md for details.
| UI Need | Component | Module Registration | Import | Docs |
|---|---|---|---|---|
| Category / bar / line chart | IgrCategoryChart |
IgrCategoryChartModule.register() |
igniteui-react-charts |
Docs |
| Pie / doughnut chart | IgrPieChart |
IgrPieChartModule.register() |
igniteui-react-charts |
Docs |
| Financial / stock chart | IgrFinancialChart |
IgrFinancialChartModule.register() |
igniteui-react-charts |
Docs |
| Radial gauge | IgrRadialGauge |
IgrRadialGaugeModule.register() |
igniteui-react-gauges |
Docs |
| Linear gauge | IgrLinearGauge |
IgrLinearGaugeModule.register() |
igniteui-react-gauges |
Docs |
| Geographic map | IgrGeographicMap |
IgrGeographicMapModule.register() |
igniteui-react-maps |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Chat / AI assistant message thread | IgrChat |
igniteui-react |
Docs |
| UI Need | Component | Import | Docs |
|---|---|---|---|
| Embedded BI dashboard viewer | RvRevealView |
reveal-sdk-wrappers-react |
Docs |
Note: Reveal SDK is a companion product for embedding interactive dashboards and data visualizations. It uses separate packages (
reveal-sdk-wrappers-react,reveal-sdk-wrappers) and requires a backend Reveal server URL. See REVEAL-SDK.md for setup instructions and ../igniteui-react-customize-theme/SKILL.md for syncing Reveal's theme with Ignite UI theming tokens.
Follow these steps when a user describes a UI requirement:
Break the described UI into atomic patterns. Examples:
- "A booking form" → date input, text inputs, button, maybe a calendar picker
- "An admin dashboard" → navbar, nav drawer, cards, data grid, charts
- "A notification center" → snackbar or toast, badge, list
- "A settings page" → tabs or accordion, switch, input, select, button
Use the Component Catalogue tables above to find matching components. When in doubt:
| If the user needs… | Prefer… | Over… |
|---|---|---|
| Simple static list | IgrList |
Data Grid |
| Basic dropdown | IgrSelect |
IgrCombo |
| Searchable or multi-select dropdown | IgrCombo |
IgrSelect |
| Tabular data with basic display | IgrGridLite (grid-lite) |
IgrDataGrid (commercial) |
| Tabular data, advanced features needed | IgrDataGrid |
IgrGridLite (grid-lite) |
| Single dismissible message | IgrToast |
IgrSnackbar |
| Message requiring user action | IgrSnackbar |
IgrToast |
| Collapsible single section | IgrExpansionPanel |
IgrAccordion |
| Multiple collapsible sections | IgrAccordion |
IgrExpansionPanel |
| Stepped wizard UI | IgrStepper |
IgrTabs |
| Content tabs / view switching (inline content) | IgrTabs (content in IgrTab) |
IgrStepper |
| Tab-based navigation (with React Router) | IgrTabs (label-only) |
IgrTabs (with content) |
Confirm which package provides the component:
- MIT components (inputs, layout, notifications, scheduling, chat) →
igniteui-react - Lightweight grid (Grid Lite) →
igniteui-react/grid-lite(MIT, requires bothigniteui-reactandigniteui-grid-litepackages) - Advanced grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) →
igniteui-react-grids(commercial) - Charts →
igniteui-react-charts(commercial) - Maps →
igniteui-react-maps(commercial) - Gauges →
igniteui-react-gauges(commercial)
Always direct the user to the official documentation linked in the tables above. Key entry points:
- Getting started: Ignite UI for React Docs
- React examples: https://github.com/IgniteUI/igniteui-react-examples
- npm package: https://www.npmjs.com/package/igniteui-react
- GitHub repository: https://github.com/IgniteUI/igniteui-react
Once components are identified, give the user a minimal working React snippet. Example for an admin dashboard shell:
import { IgrNavbar, IgrNavDrawer, IgrNavDrawerItem, IgrCard, IgrCardHeader, IgrCardContent } from 'igniteui-react';
import 'igniteui-webcomponents/themes/light/bootstrap.css';
function Dashboard() {
return (
<>
<IgrNavbar>
<h1>My Dashboard</h1>
</IgrNavbar>
<IgrNavDrawer open>
<IgrNavDrawerItem>
<span slot="icon">🏠</span>
<span slot="content">Home</span>
</IgrNavDrawerItem>
<IgrNavDrawerItem>
<span slot="icon">⚙️</span>
<span slot="content">Settings</span>
</IgrNavDrawerItem>
</IgrNavDrawer>
<main>
<IgrCard>
<IgrCardHeader>
<h3 slot="title">Summary</h3>
</IgrCardHeader>
<IgrCardContent>Dashboard content here</IgrCardContent>
</IgrCard>
</main>
</>
);
}IgrInput— email and password fieldsIgrCheckbox— "Remember me"IgrButton— submitIgrSnackbar— error/success feedback
IgrAvatar— profile pictureIgrTabs— section navigation (Profile, Security, Notifications)IgrInput/IgrTextarea— editable fieldsIgrSwitch— feature togglesIgrSelect— preference dropdownsIgrButton— save/cancel actions
IgrInput— search barIgrCombo— filter dropdownsIgrGridLite(grid-lite) orIgrDataGrid— tabular dataIgrButton/IgrIconButton— actionsIgrDialog— confirm delete modalIgrBadge— status indicators
IgrDateRangePicker— check-in / check-outIgrInput— guest detailsIgrSelect— room typeIgrStepper— multi-step booking flowIgrButton— next / confirmIgrToast— booking confirmation
IgrNavbar— top barIgrNavDrawer— side navigationIgrCard— KPI summary cardsIgrTabsorIgrTileManager— section layoutIgrDataGridorIgrPivotGrid— detailed data tablesIgrCategoryChart— charts (fromigniteui-react-charts)IgrLinearProgress/IgrCircularProgress— loading indicators
IgrNavbar— top barIgrTabs— navigation only (label-only, no inline content); eachIgrTabtriggers a route change- React Router
<Outlet />— renders the routed child view below the tabs - Active tab synced to the current route via
selectedprop
⚠️ Important — Tabs for navigation vs. tabs for content:
- Tabs as content panels (
IgrTabswith content inIgrTab): Content is rendered inside each tab. Use when the tab content is inline and does not require routing.- Tabs as navigation (
IgrTabswith label-only tabs): Tabs act as route links. The routing outlet (<Outlet />) renders the content. Do NOT add inline content inIgrTabin this case — use only thelabelprop orslot="label". See JSX-PATTERNS.md for a full React Router example.
If you are unsure about a component or need more information:
- Browse the docs at
https://www.infragistics.com/products/ignite-ui-react/react/components/— the left sidebar groups components by category - Use the naming convention: React components use the
Igrprefix followed by PascalCase name (e.g.,IgrDateRangePicker,IgrNavDrawer). The docs URL typically uses kebab-case:components/scheduling/date-range-picker - Check the examples repo at igniteui-react-examples for working sample applications