igniteui-cli 14.10.0-alpha.2 → 14.10.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/SKILL.md +161 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/reference/CHARTS-GRIDS.md +127 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/reference/COMPONENT-CATALOGUE.md +301 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/reference/EVENT-HANDLING.md +70 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/reference/INSTALLATION.md +139 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/reference/JSX-PATTERNS.md +187 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/reference/REFS-FORMS.md +229 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/reference/REVEAL-SDK.md +198 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-components/reference/TROUBLESHOOTING.md +147 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-customize-theme/SKILL.md +182 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-customize-theme/reference/CSS-THEMING.md +265 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-customize-theme/reference/MCP-SERVER.md +75 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-customize-theme/reference/REVEAL-THEME.md +86 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-customize-theme/reference/SASS-THEMING.md +125 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-customize-theme/reference/TROUBLESHOOTING.md +35 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__claude/skills/igniteui-react-optimize-bundle-size/SKILL.md +439 -0
- package/templates/react/igr-ts/projects/_base/files/__dot__vscode/mcp.json +2 -2
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-choose-components/SKILL.md +358 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-customize-component-theme/SKILL.md +615 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/SKILL.md +112 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/angular.md +185 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/react.md +116 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/vanilla-js.md +118 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-integrate-with-framework/references/vue.md +181 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__claude/skills/igniteui-wc-optimize-bundle-size/SKILL.md +709 -0
- package/templates/webcomponents/igc-ts/projects/_base/files/__dot__vscode/mcp.json +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "igniteui-cli",
|
|
3
|
-
"version": "14.10.0-alpha.
|
|
3
|
+
"version": "14.10.0-alpha.4",
|
|
4
4
|
"description": "CLI tool for creating Ignite UI projects",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"CLI",
|
|
@@ -66,9 +66,9 @@
|
|
|
66
66
|
"all": true
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"@igniteui/angular-templates": "^21.1.14100-alpha.
|
|
70
|
-
"@igniteui/cli-core": "^14.10.0-alpha.
|
|
71
|
-
"@igniteui/mcp-server": "^14.10.0-alpha.
|
|
69
|
+
"@igniteui/angular-templates": "^21.1.14100-alpha.4",
|
|
70
|
+
"@igniteui/cli-core": "^14.10.0-alpha.4",
|
|
71
|
+
"@igniteui/mcp-server": "^14.10.0-alpha.4",
|
|
72
72
|
"@inquirer/prompts": "^7.9.0",
|
|
73
73
|
"@types/yargs": "^17.0.33",
|
|
74
74
|
"chalk": "^5.3.0",
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: igniteui-react-components
|
|
3
|
+
description: This skill identifies the right Ignite UI for React components for any UI pattern and covers installing, importing, and using them — including JSX patterns, event handling, refs, forms, and TypeScript. Use this when choosing components, setting up a React project, writing component JSX, handling events, or integrating with React state and form libraries.
|
|
4
|
+
user-invocable: true
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ignite UI for React Components
|
|
8
|
+
|
|
9
|
+
This skill covers everything from identifying the right component for a UI requirement to installing, setting up, and using Ignite UI for React components — including JSX patterns, event handling, refs, controlled/uncontrolled form components, and TypeScript.
|
|
10
|
+
|
|
11
|
+
## Example Usage
|
|
12
|
+
|
|
13
|
+
- "What component should I use to display a list of items with actions?"
|
|
14
|
+
- "I need a date picker for a booking form in React"
|
|
15
|
+
- "Build a dashboard layout with cards and a data grid"
|
|
16
|
+
- "What's the best component for a navigation sidebar?"
|
|
17
|
+
- "I need a searchable dropdown with multi-select"
|
|
18
|
+
- "How do I install Ignite UI for React?"
|
|
19
|
+
- "Set up igniteui-react in my project"
|
|
20
|
+
- "How do I handle events on IgrCombo?"
|
|
21
|
+
- "How do I use IgrInput with React Hook Form?"
|
|
22
|
+
- "Show me how to use refs with IgrDialog"
|
|
23
|
+
- "What TypeScript types should I use for IgrButton props?"
|
|
24
|
+
- "How do I pass children vs slots to Ignite UI components?"
|
|
25
|
+
|
|
26
|
+
## Related Skills
|
|
27
|
+
|
|
28
|
+
- [igniteui-react-customize-theme](../igniteui-react-customize-theme/SKILL.md) — Theme and style components
|
|
29
|
+
- [igniteui-react-optimize-bundle-size](../igniteui-react-optimize-bundle-size/SKILL.md) — Reduce bundle size
|
|
30
|
+
|
|
31
|
+
## When to Use
|
|
32
|
+
|
|
33
|
+
- Deciding which component fits a UI requirement
|
|
34
|
+
- User describes a UI pattern and needs a matching component name
|
|
35
|
+
- User wants to explore what components are available
|
|
36
|
+
- Setting up Ignite UI for React in a new or existing project
|
|
37
|
+
- Writing JSX that uses Ignite UI components
|
|
38
|
+
- Handling events from Ignite UI components
|
|
39
|
+
- Integrating components with React state or form libraries
|
|
40
|
+
- Using refs to call imperative methods on components
|
|
41
|
+
- Working with TypeScript prop types
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Content Guide
|
|
46
|
+
|
|
47
|
+
This skill is organized into focused reference files. Load the appropriate file for the situation:
|
|
48
|
+
|
|
49
|
+
| Topic | File | When to Use |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| Component Catalogue | [COMPONENT-CATALOGUE.md](./reference/COMPONENT-CATALOGUE.md) | Mapping UI patterns to components, available packages, common UI scenarios |
|
|
52
|
+
| Installation & Setup | [INSTALLATION.md](./reference/INSTALLATION.md) | Setting up packages, importing theme CSS, Next.js setup |
|
|
53
|
+
| JSX Patterns | [JSX-PATTERNS.md](./reference/JSX-PATTERNS.md) | Props, children, slots, IgrTabs content vs navigation |
|
|
54
|
+
| Event Handling | [EVENT-HANDLING.md](./reference/EVENT-HANDLING.md) | Event props, CustomEvent types, common events |
|
|
55
|
+
| Refs & Forms | [REFS-FORMS.md](./reference/REFS-FORMS.md) | useRef, controlled/uncontrolled forms, React Hook Form |
|
|
56
|
+
| Charts, Gauges, Maps & Grid Lite | [CHARTS-GRIDS.md](./reference/CHARTS-GRIDS.md) | Module registration, container sizing |
|
|
57
|
+
| Reveal SDK | [REVEAL-SDK.md](./reference/REVEAL-SDK.md) | Embedded BI dashboards, theme sync |
|
|
58
|
+
| Troubleshooting | [TROUBLESHOOTING.md](./reference/TROUBLESHOOTING.md) | Common issues and solutions |
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Quick Start
|
|
63
|
+
|
|
64
|
+
### 1. Install
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npm install igniteui-react
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### 2. Import Theme CSS (REQUIRED)
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
// main.tsx
|
|
74
|
+
import 'igniteui-webcomponents/themes/light/bootstrap.css';
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
> **CRITICAL:** Without the theme CSS, components will render without styles and icons will be broken. See [INSTALLATION.md](./reference/INSTALLATION.md) for all available themes and setup.
|
|
78
|
+
|
|
79
|
+
### 3. Use Components
|
|
80
|
+
|
|
81
|
+
```tsx
|
|
82
|
+
import { IgrButton, IgrInput } from 'igniteui-react';
|
|
83
|
+
|
|
84
|
+
function App() {
|
|
85
|
+
return (
|
|
86
|
+
<div>
|
|
87
|
+
<IgrInput label="Name" />
|
|
88
|
+
<IgrButton><span>Submit</span></IgrButton>
|
|
89
|
+
</div>
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
> **No `defineComponents()` needed.** React wrappers auto-register. See [CHARTS-GRIDS.md](./reference/CHARTS-GRIDS.md) for exceptions (charts, gauges, maps).
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Key Concepts
|
|
99
|
+
|
|
100
|
+
### Choosing the Right Component
|
|
101
|
+
|
|
102
|
+
Use [COMPONENT-CATALOGUE.md](./reference/COMPONENT-CATALOGUE.md) to map any UI need to the right `Igr*` component and package. For quick guidance:
|
|
103
|
+
|
|
104
|
+
- **MIT package** (`igniteui-react`) — inputs, buttons, layout, navigation, notifications, scheduling, AI chat
|
|
105
|
+
- **Lightweight grid** (MIT) — `IgrGridLite` from `igniteui-react/grid-lite` (requires both `igniteui-react` and `igniteui-grid-lite`)
|
|
106
|
+
- **Commercial** — `igniteui-react-grids` (advanced grids), `igniteui-react-charts`, `igniteui-react-gauges`, `igniteui-react-maps`
|
|
107
|
+
|
|
108
|
+
### Theme CSS Import
|
|
109
|
+
|
|
110
|
+
- **Always import theme CSS** before using components. **For grids**, also import `igniteui-react-grids/grids/themes/...`
|
|
111
|
+
- see [INSTALLATION.md](./reference/INSTALLATION.md)
|
|
112
|
+
|
|
113
|
+
### JSX Patterns
|
|
114
|
+
|
|
115
|
+
- Use props just like any React component
|
|
116
|
+
- Use `slot` attribute for named slots: `<span slot="icon">📊</span>`
|
|
117
|
+
- See [JSX-PATTERNS.md](./reference/JSX-PATTERNS.md)
|
|
118
|
+
|
|
119
|
+
### IgrTabs: Content vs Navigation
|
|
120
|
+
|
|
121
|
+
- **Content panels**: Use `IgrTab` with inline content (label via `label` prop or `slot="label"`)
|
|
122
|
+
- **Navigation (router)**: Use **only `IgrTab`** with label-only (no inline content)
|
|
123
|
+
- See [JSX-PATTERNS.md](./reference/JSX-PATTERNS.md)
|
|
124
|
+
|
|
125
|
+
### Events
|
|
126
|
+
|
|
127
|
+
- Events are `CustomEvent` objects, not React `SyntheticEvent`
|
|
128
|
+
- Access data via `e.target` or `e.detail`
|
|
129
|
+
- See [EVENT-HANDLING.md](./reference/EVENT-HANDLING.md)
|
|
130
|
+
|
|
131
|
+
### Refs
|
|
132
|
+
|
|
133
|
+
- Use `useRef<IgrDialog>(null)` with the component type:
|
|
134
|
+
- See [REFS-FORMS.md](./reference/REFS-FORMS.md)
|
|
135
|
+
|
|
136
|
+
### Charts, Gauges, Maps & Grid Lite
|
|
137
|
+
|
|
138
|
+
- **Charts/Gauges/Maps require explicit registration**: `IgrCategoryChartModule.register()`
|
|
139
|
+
- **All require sized container**: `min-width`, `min-height`, or `flex-grow`
|
|
140
|
+
- **Grid Lite** requires both `igniteui-react` and `igniteui-grid-lite` packages, import from `igniteui-react/grid-lite`
|
|
141
|
+
- See [CHARTS-GRIDS.md](./reference/CHARTS-GRIDS.md)
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Best Practices
|
|
146
|
+
|
|
147
|
+
1. **Start with the MIT package** (`igniteui-react`) — it covers most common UI needs
|
|
148
|
+
2. **Import theme CSS first** — components need it to render correctly
|
|
149
|
+
3. **Register chart/gauge/map modules** — call `.register()` at module level
|
|
150
|
+
4. **Wrap charts/gauges/maps in sized containers** — they need explicit dimensions
|
|
151
|
+
5. **Use named imports** — enables tree-shaking
|
|
152
|
+
6. **Handle events as `CustomEvent`** — not `React.SyntheticEvent`
|
|
153
|
+
7. **Use refs sparingly** — prefer declarative props
|
|
154
|
+
8. **Check slot names** in the docs
|
|
155
|
+
|
|
156
|
+
## Additional Resources
|
|
157
|
+
|
|
158
|
+
- [Ignite UI for React — Getting Started](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started)
|
|
159
|
+
- [React Examples Repository](https://github.com/IgniteUI/igniteui-react-examples)
|
|
160
|
+
- [npm: igniteui-react](https://www.npmjs.com/package/igniteui-react)
|
|
161
|
+
- [@lit/react Documentation](https://lit.dev/docs/frameworks/react/)
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Charts, Gauges, Maps & Grid Lite
|
|
2
|
+
|
|
3
|
+
## Module Registration
|
|
4
|
+
|
|
5
|
+
> **⚠️ IMPORTANT:** Unlike core UI components (from `igniteui-react`), chart, gauge, and map components from `igniteui-react-charts`, `igniteui-react-gauges`, and `igniteui-react-maps` **require explicit module registration** before use. You must import the corresponding `*Module` class and call `.register()` at the module level (outside the component function).
|
|
6
|
+
>
|
|
7
|
+
> **Grid Lite** (`IgrGridLite` from `igniteui-react/grid-lite`) is a React wrapper component that works like any other React component — no `.register()` needed, but requires both `igniteui-react` and `igniteui-grid-lite` packages installed.
|
|
8
|
+
|
|
9
|
+
### Registration Syntax
|
|
10
|
+
|
|
11
|
+
```tsx
|
|
12
|
+
import { IgrCategoryChart, IgrCategoryChartModule } from 'igniteui-react-charts';
|
|
13
|
+
|
|
14
|
+
// ⚠️ REQUIRED — register the module before using the component
|
|
15
|
+
IgrCategoryChartModule.register();
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
### Common Module Registrations
|
|
19
|
+
|
|
20
|
+
| Component | Module Import | Registration |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `IgrCategoryChart` | `IgrCategoryChartModule` | `IgrCategoryChartModule.register()` |
|
|
23
|
+
| `IgrPieChart` | `IgrPieChartModule` | `IgrPieChartModule.register()` |
|
|
24
|
+
| `IgrFinancialChart` | `IgrFinancialChartModule` | `IgrFinancialChartModule.register()` |
|
|
25
|
+
| `IgrRadialGauge` | `IgrRadialGaugeModule` | `IgrRadialGaugeModule.register()` |
|
|
26
|
+
| `IgrLinearGauge` | `IgrLinearGaugeModule` | `IgrLinearGaugeModule.register()` |
|
|
27
|
+
| `IgrGeographicMap` | `IgrGeographicMapModule` | `IgrGeographicMapModule.register()` |
|
|
28
|
+
| `IgrGridLite` | (no registration needed) | N/A — works like standard React component |
|
|
29
|
+
|
|
30
|
+
## Container Sizing (REQUIRED)
|
|
31
|
+
|
|
32
|
+
> **⚠️ CRITICAL:** Charts, gauges, maps, and Grid Lite **require an explicit-sized container** to render. They inherit their dimensions from the parent element — if the parent has no height/width, the component will not be visible. Always wrap these components in a container with explicit `min-width`, `min-height`, or `flex-grow` styling.
|
|
33
|
+
|
|
34
|
+
```css
|
|
35
|
+
/* Chart container CSS */
|
|
36
|
+
.chart-container {
|
|
37
|
+
min-width: 400px;
|
|
38
|
+
min-height: 300px;
|
|
39
|
+
flex-grow: 1;
|
|
40
|
+
flex-basis: 0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/* Ensure the chart fills its container */
|
|
44
|
+
.chart-container > * {
|
|
45
|
+
height: 100%;
|
|
46
|
+
width: 100%;
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Complete Chart Example
|
|
51
|
+
|
|
52
|
+
```tsx
|
|
53
|
+
import { IgrCategoryChart, IgrCategoryChartModule } from 'igniteui-react-charts';
|
|
54
|
+
import styles from './dashboard-view.module.css';
|
|
55
|
+
|
|
56
|
+
// Register the chart module (required, called once at module level)
|
|
57
|
+
IgrCategoryChartModule.register();
|
|
58
|
+
|
|
59
|
+
export default function DashboardView() {
|
|
60
|
+
const salesData = [
|
|
61
|
+
{ month: 'Jan', revenue: 12500 },
|
|
62
|
+
{ month: 'Feb', revenue: 18200 },
|
|
63
|
+
{ month: 'Mar', revenue: 15800 },
|
|
64
|
+
];
|
|
65
|
+
|
|
66
|
+
return (
|
|
67
|
+
<div className={styles['chart-container']}>
|
|
68
|
+
<IgrCategoryChart
|
|
69
|
+
dataSource={salesData}
|
|
70
|
+
chartType="column"
|
|
71
|
+
xAxisTitle="Month"
|
|
72
|
+
yAxisTitle="Revenue ($)"
|
|
73
|
+
/>
|
|
74
|
+
</div>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
```css
|
|
80
|
+
/* dashboard-view.module.css */
|
|
81
|
+
.chart-container {
|
|
82
|
+
min-width: 400px;
|
|
83
|
+
min-height: 300px;
|
|
84
|
+
flex-grow: 1;
|
|
85
|
+
flex-basis: 0;
|
|
86
|
+
}
|
|
87
|
+
.chart-container > * {
|
|
88
|
+
height: 100%;
|
|
89
|
+
width: 100%;
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Complete Grid Lite Example
|
|
94
|
+
|
|
95
|
+
> **⚠️ IMPORTANT:** Grid Lite (`IgrGridLite` from `igniteui-react/grid-lite`) requires installing both `igniteui-react` and `igniteui-grid-lite` packages. It's a React wrapper component (uses `Igr` prefix) and works like any standard React component — no `.register()` needed.
|
|
96
|
+
|
|
97
|
+
**Installation:**
|
|
98
|
+
```bash
|
|
99
|
+
npm install igniteui-react igniteui-grid-lite
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
**Usage:**
|
|
103
|
+
```tsx
|
|
104
|
+
import { IgrGridLite } from 'igniteui-react/grid-lite';
|
|
105
|
+
import { useGetCustomers } from '../hooks/northwind-hooks';
|
|
106
|
+
import styles from './master-view.module.css';
|
|
107
|
+
|
|
108
|
+
export default function MasterView() {
|
|
109
|
+
const { northwindCustomers } = useGetCustomers();
|
|
110
|
+
|
|
111
|
+
return (
|
|
112
|
+
<div className={styles['grid-lite']}>
|
|
113
|
+
<IgrGridLite data={northwindCustomers} />
|
|
114
|
+
</div>
|
|
115
|
+
);
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
```css
|
|
120
|
+
/* master-view.module.css */
|
|
121
|
+
.grid-lite {
|
|
122
|
+
min-width: 400px;
|
|
123
|
+
min-height: 220px;
|
|
124
|
+
flex-grow: 1;
|
|
125
|
+
flex-basis: 0;
|
|
126
|
+
}
|
|
127
|
+
```
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
# Component Catalogue
|
|
2
|
+
|
|
3
|
+
## Available Packages
|
|
4
|
+
|
|
5
|
+
Ignite UI for React is distributed across several packages depending on your needs:
|
|
6
|
+
|
|
7
|
+
| Package | License | Install | Best For |
|
|
8
|
+
|---|---|---|---|
|
|
9
|
+
| [`igniteui-react`](https://www.npmjs.com/package/igniteui-react) | MIT | `npm install igniteui-react` | General UI components (inputs, layouts, notifications, scheduling) |
|
|
10
|
+
| [`igniteui-grid-lite`](https://www.npmjs.com/package/igniteui-grid-lite) | MIT | `npm install igniteui-react igniteui-grid-lite` | Lightweight grid (Grid Lite) — requires both packages, import from `igniteui-react/grid-lite` |
|
|
11
|
+
| [`igniteui-react-grids`](https://www.npmjs.com/package/igniteui-react-grids) | Commercial | `npm install igniteui-react-grids` (trial) | Advanced data grids (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) |
|
|
12
|
+
| [`igniteui-react-charts`](https://www.npmjs.com/package/igniteui-react-charts) | Commercial | `npm install igniteui-react-charts` (trial) | Charts (Category, Financial, Pie, Scatter, etc.) |
|
|
13
|
+
| [`igniteui-react-maps`](https://www.npmjs.com/package/igniteui-react-maps) | Commercial | `npm install igniteui-react-maps` (trial) | Geographic maps |
|
|
14
|
+
| [`igniteui-react-gauges`](https://www.npmjs.com/package/igniteui-react-gauges) | Commercial | `npm install igniteui-react-gauges` (trial) | Radial and linear gauges |
|
|
15
|
+
| [`reveal-sdk-wrappers-react`](https://www.npmjs.com/package/reveal-sdk-wrappers-react) | Commercial | `npm install reveal-sdk-wrappers-react` | Embedded BI dashboards (Reveal SDK) |
|
|
16
|
+
|
|
17
|
+
> **Note:** The lightweight Grid Lite (`IgrGridLite` from `igniteui-react/grid-lite`) requires installing both `igniteui-react` and `igniteui-grid-lite` packages. It's a React wrapper component (uses `Igr` prefix) that works like any other React component — no `.register()` needed. See [CHARTS-GRIDS.md](./CHARTS-GRIDS.md) for setup details.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Component Catalogue by UI Pattern
|
|
22
|
+
|
|
23
|
+
Use the tables below to map a UI need to the right React component. All components use the **`Igr`** prefix.
|
|
24
|
+
|
|
25
|
+
### Inputs & Forms
|
|
26
|
+
|
|
27
|
+
| UI Need | Component | Import | Docs |
|
|
28
|
+
|---|---|---|---|
|
|
29
|
+
| Text field / text input | `IgrInput` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/input) |
|
|
30
|
+
| Multi-line text | `IgrTextarea` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/text-area) |
|
|
31
|
+
| Checkbox | `IgrCheckbox` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/checkbox) |
|
|
32
|
+
| On/off toggle | `IgrSwitch` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/switch) |
|
|
33
|
+
| Single choice from a list | `IgrRadio` / `IgrRadioGroup` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/radio) |
|
|
34
|
+
| Star / score rating | `IgrRating` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/rating) |
|
|
35
|
+
| Formatted / masked text input | `IgrMaskInput` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/mask-input) |
|
|
36
|
+
| Date and time input | `IgrDateTimeInput` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/date-time-input) |
|
|
37
|
+
| File upload | `IgrFileInput` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/file-input) |
|
|
38
|
+
| Simple dropdown / select | `IgrSelect` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/select) |
|
|
39
|
+
| Searchable dropdown, single or multi-select | `IgrCombo` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/combo/overview) |
|
|
40
|
+
| Grouped toggle buttons | `IgrButtonGroup` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/button-group) |
|
|
41
|
+
| Range / numeric slider | `IgrSlider` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/slider) |
|
|
42
|
+
| Range slider (two handles) | `IgrRangeSlider` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/slider) |
|
|
43
|
+
|
|
44
|
+
### Buttons & Actions
|
|
45
|
+
|
|
46
|
+
| UI Need | Component | Import | Docs |
|
|
47
|
+
|---|---|---|---|
|
|
48
|
+
| Standard clickable button | `IgrButton` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/button) |
|
|
49
|
+
| Icon-only button | `IgrIconButton` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/icon-button) |
|
|
50
|
+
| Click ripple effect | `IgrRipple` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/ripple) |
|
|
51
|
+
| Removable tag / filter chip | `IgrChip` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/chip) |
|
|
52
|
+
|
|
53
|
+
### Scheduling & Date Pickers
|
|
54
|
+
|
|
55
|
+
| UI Need | Component | Import | Docs |
|
|
56
|
+
|---|---|---|---|
|
|
57
|
+
| Full calendar view | `IgrCalendar` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/scheduling/calendar) |
|
|
58
|
+
| Date picker (popup calendar) | `IgrDatepicker` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/scheduling/date-picker) |
|
|
59
|
+
| Date range selection | `IgrDateRangePicker` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/scheduling/date-range-picker) |
|
|
60
|
+
|
|
61
|
+
### Notifications & Feedback
|
|
62
|
+
|
|
63
|
+
| UI Need | Component | Import | Docs |
|
|
64
|
+
|---|---|---|---|
|
|
65
|
+
| Brief auto-dismiss notification | `IgrToast` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/notifications/toast) |
|
|
66
|
+
| Actionable dismissible notification bar | `IgrSnackbar` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/notifications/snackbar) |
|
|
67
|
+
| Persistent status banner | `IgrBanner` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/notifications/banner) |
|
|
68
|
+
| Modal confirmation or content dialog | `IgrDialog` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/notifications/dialog) |
|
|
69
|
+
| Tooltip on hover | `IgrTooltip` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/tooltip) |
|
|
70
|
+
| Small count / status indicator | `IgrBadge` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/badge) |
|
|
71
|
+
|
|
72
|
+
### Progress Indicators
|
|
73
|
+
|
|
74
|
+
| UI Need | Component | Import | Docs |
|
|
75
|
+
|---|---|---|---|
|
|
76
|
+
| Horizontal progress bar | `IgrLinearProgress` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/linear-progress) |
|
|
77
|
+
| Circular / spinner progress | `IgrCircularProgress` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/circular-progress) |
|
|
78
|
+
|
|
79
|
+
### Layouts & Containers
|
|
80
|
+
|
|
81
|
+
| UI Need | Component | Import | Docs |
|
|
82
|
+
|---|---|---|---|
|
|
83
|
+
| Generic content card | `IgrCard` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/card) |
|
|
84
|
+
| User avatar / profile image | `IgrAvatar` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/avatar) |
|
|
85
|
+
| Icon display | `IgrIcon` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/icon) |
|
|
86
|
+
| Horizontal or vertical divider | `IgrDivider` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/divider) |
|
|
87
|
+
| Collapsible section | `IgrExpansionPanel` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/expansion-panel) |
|
|
88
|
+
| Multiple collapsible sections | `IgrAccordion` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/accordion) |
|
|
89
|
+
| Tabbed content panels (with inline content) | `IgrTabs` (content in `IgrTab`) | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/tabs) |
|
|
90
|
+
| Image / content slideshow | `IgrCarousel` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/carousel) |
|
|
91
|
+
| Multi-step wizard / onboarding flow | `IgrStepper` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/stepper) |
|
|
92
|
+
| Resizable, draggable dashboard tiles | `IgrTileManager` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/tile-manager) |
|
|
93
|
+
|
|
94
|
+
### Navigation
|
|
95
|
+
|
|
96
|
+
| UI Need | Component | Import | Docs |
|
|
97
|
+
|---|---|---|---|
|
|
98
|
+
| Top application bar / toolbar | `IgrNavbar` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/menus/navbar) |
|
|
99
|
+
| Side navigation drawer | `IgrNavDrawer` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/menus/navigation-drawer) |
|
|
100
|
+
| Tab-based navigation (with router) | `IgrTabs` (label-only, no content) | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/layouts/tabs) |
|
|
101
|
+
| Context menu / actions dropdown | `IgrDropdown` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/inputs/dropdown) |
|
|
102
|
+
|
|
103
|
+
### Lists & Data Display
|
|
104
|
+
|
|
105
|
+
| UI Need | Component | Import | Docs |
|
|
106
|
+
|---|---|---|---|
|
|
107
|
+
| Simple scrollable list | `IgrList` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/list) |
|
|
108
|
+
| Hierarchical / tree data | `IgrTree` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/tree) |
|
|
109
|
+
| Tabular data (MIT, lightweight) | `IgrGridLite` | `igniteui-react/grid-lite` (requires both `igniteui-react` and `igniteui-grid-lite` packages) | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grid-lite/overview) |
|
|
110
|
+
| Full-featured tabular data grid | `IgrDataGrid` | `igniteui-react-grids` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/grid/overview) |
|
|
111
|
+
| Nested / master-detail grid | `IgrHierarchicalGrid` | `igniteui-react-grids` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/hierarchical-grid/overview) |
|
|
112
|
+
| Parent-child relational tree grid | `IgrTreeGrid` | `igniteui-react-grids` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/tree-grid/overview) |
|
|
113
|
+
| Cross-tabulation / BI pivot table | `IgrPivotGrid` | `igniteui-react-grids` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/grids/pivot-grid/overview) |
|
|
114
|
+
|
|
115
|
+
### Charts & Data Visualization
|
|
116
|
+
|
|
117
|
+
> **⚠️ IMPORTANT:** Chart, gauge, and map components require **explicit module registration** and a **sized container**. Import the `*Module` class and call `.register()` at module level, and wrap the component in a container with explicit `min-width`/`min-height` or `flex-grow`. See [CHARTS-GRIDS.md](./CHARTS-GRIDS.md) for details.
|
|
118
|
+
|
|
119
|
+
| UI Need | Component | Module Registration | Import | Docs |
|
|
120
|
+
|---|---|---|---|---|
|
|
121
|
+
| Category / bar / line chart | `IgrCategoryChart` | `IgrCategoryChartModule.register()` | `igniteui-react-charts` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/chart-overview) |
|
|
122
|
+
| Pie / doughnut chart | `IgrPieChart` | `IgrPieChartModule.register()` | `igniteui-react-charts` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/chart-overview) |
|
|
123
|
+
| Financial / stock chart | `IgrFinancialChart` | `IgrFinancialChartModule.register()` | `igniteui-react-charts` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/charts/chart-overview) |
|
|
124
|
+
| Radial gauge | `IgrRadialGauge` | `IgrRadialGaugeModule.register()` | `igniteui-react-gauges` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/gauges/radial-gauge) |
|
|
125
|
+
| Linear gauge | `IgrLinearGauge` | `IgrLinearGaugeModule.register()` | `igniteui-react-gauges` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/gauges/linear-gauge) |
|
|
126
|
+
| Geographic map | `IgrGeographicMap` | `IgrGeographicMapModule.register()` | `igniteui-react-maps` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/maps/geographic-map) |
|
|
127
|
+
|
|
128
|
+
### Conversational / AI
|
|
129
|
+
|
|
130
|
+
| UI Need | Component | Import | Docs |
|
|
131
|
+
|---|---|---|---|
|
|
132
|
+
| Chat / AI assistant message thread | `IgrChat` | `igniteui-react` | [Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/interactivity/chat) |
|
|
133
|
+
|
|
134
|
+
### Embedded Analytics / BI Dashboards (Reveal SDK)
|
|
135
|
+
|
|
136
|
+
| UI Need | Component | Import | Docs |
|
|
137
|
+
|---|---|---|---|
|
|
138
|
+
| Embedded BI dashboard viewer | `RvRevealView` | `reveal-sdk-wrappers-react` | [Docs](https://help.revealbi.io/web/getting-started-react/) |
|
|
139
|
+
|
|
140
|
+
> **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](./REVEAL-SDK.md) for setup instructions and [../igniteui-react-customize-theme/SKILL.md](../igniteui-react-customize-theme/SKILL.md) for syncing Reveal's theme with Ignite UI theming tokens.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Step-by-Step: Choosing Components for a UI
|
|
145
|
+
|
|
146
|
+
Follow these steps when a user describes a UI requirement:
|
|
147
|
+
|
|
148
|
+
### Step 1 — Identify UI patterns
|
|
149
|
+
|
|
150
|
+
Break the described UI into atomic patterns. Examples:
|
|
151
|
+
- "A booking form" → date input, text inputs, button, maybe a calendar picker
|
|
152
|
+
- "An admin dashboard" → navbar, nav drawer, cards, data grid, charts
|
|
153
|
+
- "A notification center" → snackbar or toast, badge, list
|
|
154
|
+
- "A settings page" → tabs or accordion, switch, input, select, button
|
|
155
|
+
|
|
156
|
+
### Step 2 — Map patterns to components
|
|
157
|
+
|
|
158
|
+
Use the **Component Catalogue** tables above to find matching components. When in doubt:
|
|
159
|
+
|
|
160
|
+
| If the user needs… | Prefer… | Over… |
|
|
161
|
+
|---|---|---|
|
|
162
|
+
| Simple static list | `IgrList` | Data Grid |
|
|
163
|
+
| Basic dropdown | `IgrSelect` | `IgrCombo` |
|
|
164
|
+
| Searchable or multi-select dropdown | `IgrCombo` | `IgrSelect` |
|
|
165
|
+
| Tabular data with basic display | `IgrGridLite` (grid-lite) | `IgrDataGrid` (commercial) |
|
|
166
|
+
| Tabular data, advanced features needed | `IgrDataGrid` | `IgrGridLite` (grid-lite) |
|
|
167
|
+
| Single dismissible message | `IgrToast` | `IgrSnackbar` |
|
|
168
|
+
| Message requiring user action | `IgrSnackbar` | `IgrToast` |
|
|
169
|
+
| Collapsible single section | `IgrExpansionPanel` | `IgrAccordion` |
|
|
170
|
+
| Multiple collapsible sections | `IgrAccordion` | `IgrExpansionPanel` |
|
|
171
|
+
| Stepped wizard UI | `IgrStepper` | `IgrTabs` |
|
|
172
|
+
| Content tabs / view switching (inline content) | `IgrTabs` (content in `IgrTab`) | `IgrStepper` |
|
|
173
|
+
| Tab-based navigation (with React Router) | `IgrTabs` (label-only) | `IgrTabs` (with content) |
|
|
174
|
+
|
|
175
|
+
### Step 3 — Check the package
|
|
176
|
+
|
|
177
|
+
Confirm which package provides the component:
|
|
178
|
+
|
|
179
|
+
- **MIT components** (inputs, layout, notifications, scheduling, chat) → `igniteui-react`
|
|
180
|
+
- **Lightweight grid** (Grid Lite) → `igniteui-react/grid-lite` *(MIT, requires both `igniteui-react` and `igniteui-grid-lite` packages)*
|
|
181
|
+
- **Advanced grids** (Data Grid, Tree Grid, Hierarchical Grid, Pivot Grid) → `igniteui-react-grids` *(commercial)*
|
|
182
|
+
- **Charts** → `igniteui-react-charts` *(commercial)*
|
|
183
|
+
- **Maps** → `igniteui-react-maps` *(commercial)*
|
|
184
|
+
- **Gauges** → `igniteui-react-gauges` *(commercial)*
|
|
185
|
+
|
|
186
|
+
### Step 4 — Link to official resources
|
|
187
|
+
|
|
188
|
+
Always direct the user to the official documentation linked in the tables above. Key entry points:
|
|
189
|
+
|
|
190
|
+
- **Getting started**: [Ignite UI for React Docs](https://www.infragistics.com/products/ignite-ui-react/react/components/general-getting-started)
|
|
191
|
+
- **React examples**: [https://github.com/IgniteUI/igniteui-react-examples](https://github.com/IgniteUI/igniteui-react-examples)
|
|
192
|
+
- **npm package**: [https://www.npmjs.com/package/igniteui-react](https://www.npmjs.com/package/igniteui-react)
|
|
193
|
+
- **GitHub repository**: [https://github.com/IgniteUI/igniteui-react](https://github.com/IgniteUI/igniteui-react)
|
|
194
|
+
|
|
195
|
+
### Step 5 — Provide a starter code snippet
|
|
196
|
+
|
|
197
|
+
Once components are identified, give the user a minimal working React snippet. Example for an admin dashboard shell:
|
|
198
|
+
|
|
199
|
+
```tsx
|
|
200
|
+
import { IgrNavbar, IgrNavDrawer, IgrNavDrawerItem, IgrCard, IgrCardHeader, IgrCardContent } from 'igniteui-react';
|
|
201
|
+
import 'igniteui-webcomponents/themes/light/bootstrap.css';
|
|
202
|
+
|
|
203
|
+
function Dashboard() {
|
|
204
|
+
return (
|
|
205
|
+
<>
|
|
206
|
+
<IgrNavbar>
|
|
207
|
+
<h1>My Dashboard</h1>
|
|
208
|
+
</IgrNavbar>
|
|
209
|
+
|
|
210
|
+
<IgrNavDrawer open>
|
|
211
|
+
<IgrNavDrawerItem>
|
|
212
|
+
<span slot="icon">🏠</span>
|
|
213
|
+
<span slot="content">Home</span>
|
|
214
|
+
</IgrNavDrawerItem>
|
|
215
|
+
<IgrNavDrawerItem>
|
|
216
|
+
<span slot="icon">⚙️</span>
|
|
217
|
+
<span slot="content">Settings</span>
|
|
218
|
+
</IgrNavDrawerItem>
|
|
219
|
+
</IgrNavDrawer>
|
|
220
|
+
|
|
221
|
+
<main>
|
|
222
|
+
<IgrCard>
|
|
223
|
+
<IgrCardHeader>
|
|
224
|
+
<h3 slot="title">Summary</h3>
|
|
225
|
+
</IgrCardHeader>
|
|
226
|
+
<IgrCardContent>Dashboard content here</IgrCardContent>
|
|
227
|
+
</IgrCard>
|
|
228
|
+
</main>
|
|
229
|
+
</>
|
|
230
|
+
);
|
|
231
|
+
}
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
## Common UI Scenarios → Recommended Component Sets
|
|
237
|
+
|
|
238
|
+
### Login / Authentication Form
|
|
239
|
+
|
|
240
|
+
- `IgrInput` — email and password fields
|
|
241
|
+
- `IgrCheckbox` — "Remember me"
|
|
242
|
+
- `IgrButton` — submit
|
|
243
|
+
- `IgrSnackbar` — error/success feedback
|
|
244
|
+
|
|
245
|
+
### User Profile / Settings Page
|
|
246
|
+
|
|
247
|
+
- `IgrAvatar` — profile picture
|
|
248
|
+
- `IgrTabs` — section navigation (Profile, Security, Notifications)
|
|
249
|
+
- `IgrInput` / `IgrTextarea` — editable fields
|
|
250
|
+
- `IgrSwitch` — feature toggles
|
|
251
|
+
- `IgrSelect` — preference dropdowns
|
|
252
|
+
- `IgrButton` — save/cancel actions
|
|
253
|
+
|
|
254
|
+
### Data Table / Admin List View
|
|
255
|
+
|
|
256
|
+
- `IgrInput` — search bar
|
|
257
|
+
- `IgrCombo` — filter dropdowns
|
|
258
|
+
- `IgrGridLite` (grid-lite) or `IgrDataGrid` — tabular data
|
|
259
|
+
- `IgrButton` / `IgrIconButton` — actions
|
|
260
|
+
- `IgrDialog` — confirm delete modal
|
|
261
|
+
- `IgrBadge` — status indicators
|
|
262
|
+
|
|
263
|
+
### Booking / Reservation Form
|
|
264
|
+
|
|
265
|
+
- `IgrDateRangePicker` — check-in / check-out
|
|
266
|
+
- `IgrInput` — guest details
|
|
267
|
+
- `IgrSelect` — room type
|
|
268
|
+
- `IgrStepper` — multi-step booking flow
|
|
269
|
+
- `IgrButton` — next / confirm
|
|
270
|
+
- `IgrToast` — booking confirmation
|
|
271
|
+
|
|
272
|
+
### Analytics / Reporting Dashboard
|
|
273
|
+
|
|
274
|
+
- `IgrNavbar` — top bar
|
|
275
|
+
- `IgrNavDrawer` — side navigation
|
|
276
|
+
- `IgrCard` — KPI summary cards
|
|
277
|
+
- `IgrTabs` or `IgrTileManager` — section layout
|
|
278
|
+
- `IgrDataGrid` or `IgrPivotGrid` — detailed data tables
|
|
279
|
+
- `IgrCategoryChart` — charts (from `igniteui-react-charts`)
|
|
280
|
+
- `IgrLinearProgress` / `IgrCircularProgress` — loading indicators
|
|
281
|
+
|
|
282
|
+
### Master-Detail with Tab Navigation (React Router)
|
|
283
|
+
|
|
284
|
+
- `IgrNavbar` — top bar
|
|
285
|
+
- `IgrTabs` — **navigation only** (label-only, no inline content); each `IgrTab` triggers a route change
|
|
286
|
+
- React Router `<Outlet />` — renders the routed child view below the tabs
|
|
287
|
+
- Active tab synced to the current route via `selected` prop
|
|
288
|
+
|
|
289
|
+
> **⚠️ Important — Tabs for navigation vs. tabs for content:**
|
|
290
|
+
> - **Tabs as content panels** (`IgrTabs` with content in `IgrTab`): Content is rendered inside each tab. Use when the tab content is inline and does not require routing.
|
|
291
|
+
> - **Tabs as navigation** (`IgrTabs` with label-only tabs): Tabs act as route links. The routing outlet (`<Outlet />`) renders the content. **Do NOT add inline content in `IgrTab` in this case** — use only the `label` prop or `slot="label"`. See [JSX-PATTERNS.md](./JSX-PATTERNS.md) for a full React Router example.
|
|
292
|
+
|
|
293
|
+
---
|
|
294
|
+
|
|
295
|
+
## Searching the Documentation
|
|
296
|
+
|
|
297
|
+
If you are unsure about a component or need more information:
|
|
298
|
+
|
|
299
|
+
1. **Browse the docs** at `https://www.infragistics.com/products/ignite-ui-react/react/components/` — the left sidebar groups components by category
|
|
300
|
+
2. **Use the naming convention**: React components use the `Igr` prefix followed by PascalCase name (e.g., `IgrDateRangePicker`, `IgrNavDrawer`). The docs URL typically uses kebab-case: `components/scheduling/date-range-picker`
|
|
301
|
+
3. **Check the examples repo** at [igniteui-react-examples](https://github.com/IgniteUI/igniteui-react-examples) for working sample applications
|