igniteui-angular 21.1.0-rc.4 → 21.1.0

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.
Files changed (61) hide show
  1. package/README.md +29 -0
  2. package/fesm2022/igniteui-angular-grids-core.mjs +5 -3
  3. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  4. package/fesm2022/igniteui-angular-grids-grid.mjs +6 -1
  5. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  6. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs +1 -0
  7. package/fesm2022/igniteui-angular-grids-hierarchical-grid.mjs.map +1 -1
  8. package/fesm2022/igniteui-angular-grids-lite.mjs +2 -0
  9. package/fesm2022/igniteui-angular-grids-lite.mjs.map +1 -1
  10. package/fesm2022/igniteui-angular-simple-combo.mjs +1 -1
  11. package/fesm2022/igniteui-angular-simple-combo.mjs.map +1 -1
  12. package/lib/core/styles/components/grid/_grid-theme.scss +4 -1
  13. package/migrations/migration-collection.json +7 -0
  14. package/migrations/update-21_1_0_add-agent-skills/index.d.ts +3 -0
  15. package/migrations/update-21_1_0_add-agent-skills/index.js +46 -0
  16. package/package.json +4 -4
  17. package/skills/igniteui-angular-components/SKILL.md +71 -0
  18. package/skills/igniteui-angular-components/references/charts.md +447 -0
  19. package/skills/igniteui-angular-components/references/data-display.md +347 -0
  20. package/skills/igniteui-angular-components/references/directives.md +149 -0
  21. package/skills/igniteui-angular-components/references/feedback.md +141 -0
  22. package/skills/igniteui-angular-components/references/form-controls.md +298 -0
  23. package/skills/igniteui-angular-components/references/layout-manager.md +415 -0
  24. package/skills/igniteui-angular-components/references/layout.md +216 -0
  25. package/skills/igniteui-angular-components/references/setup.md +157 -0
  26. package/skills/igniteui-angular-grids/SKILL.md +110 -0
  27. package/skills/igniteui-angular-grids/references/data-operations.md +436 -0
  28. package/skills/igniteui-angular-grids/references/editing.md +480 -0
  29. package/skills/igniteui-angular-grids/references/features.md +218 -0
  30. package/skills/igniteui-angular-grids/references/paging-remote.md +388 -0
  31. package/skills/igniteui-angular-grids/references/state.md +448 -0
  32. package/skills/igniteui-angular-grids/references/structure.md +290 -0
  33. package/skills/igniteui-angular-grids/references/types.md +428 -0
  34. package/skills/igniteui-angular-theming/SKILL.md +530 -0
  35. package/styles/igniteui-angular-dark.css +1 -1
  36. package/styles/igniteui-angular.css +1 -1
  37. package/styles/igniteui-bootstrap-dark.css +1 -1
  38. package/styles/igniteui-bootstrap-light.css +1 -1
  39. package/styles/igniteui-dark-green.css +1 -1
  40. package/styles/igniteui-fluent-dark-excel.css +1 -1
  41. package/styles/igniteui-fluent-dark-word.css +1 -1
  42. package/styles/igniteui-fluent-dark.css +1 -1
  43. package/styles/igniteui-fluent-light-excel.css +1 -1
  44. package/styles/igniteui-fluent-light-word.css +1 -1
  45. package/styles/igniteui-fluent-light.css +1 -1
  46. package/styles/igniteui-indigo-dark.css +1 -1
  47. package/styles/igniteui-indigo-light.css +1 -1
  48. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  49. package/styles/maps/igniteui-angular.css.map +1 -1
  50. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  51. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  52. package/styles/maps/igniteui-dark-green.css.map +1 -1
  53. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  54. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  55. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  56. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  57. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  58. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  59. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  60. package/styles/maps/igniteui-indigo-light.css.map +1 -1
  61. package/types/igniteui-angular-grids-lite.d.ts +2 -0
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: igniteui-angular-components
3
+ description: "All Ignite UI Angular UI components: application setup and architecture, form controls (Input Group, Combo, Select, Date/Time Pickers, Calendar, Checkbox, Radio, Switch, Slider, reactive forms), layout (Tabs, Bottom Navigation, Stepper, Accordion, Splitter, Navigation Drawer, Layout Manager), data display (List, Tree, Card, Chips, Avatar, Badge, Icon, Carousel, Paginator, Progress bar, Linear Progress Bar, Circular Progress Bar, Chat), feedback/overlays (Dialog, Snackbar, Toast, Banner), directives (Button, Ripple, Tooltip, Drag and Drop), Dock Manager, and Charts (Area Chart, Bar Chart, Column Chart, Stock/Financial Chart, Pie Chart, IgxCategoryChart, IgxFinancialChart, IgxDataChart, IgxPieChart). Use for any non-grid Ignite UI Angular UI question."
4
+ user-invokable: true
5
+ ---
6
+
7
+ # Ignite UI for Angular — UI Components
8
+
9
+ ## MANDATORY AGENT PROTOCOL — YOU MUST FOLLOW THIS BEFORE PRODUCING ANY OUTPUT
10
+
11
+ **This file is a routing hub only. It contains NO code examples and NO API details.**
12
+
13
+ > **DO NOT write any component selectors, import paths, input names, output names, or directive names from memory.**
14
+ > Component APIs change between versions. Anything generated without reading the reference files will be incorrect.
15
+
16
+ You are **required** to complete ALL of the following steps before producing any component-related code or answer:
17
+
18
+ **STEP 1 — Identify every component or feature involved.**
19
+ Map the user's request to one or more rows in the Task → Reference File table below. A single request often spans multiple categories (e.g., a form inside a Dialog requires reading both `form-controls.md` AND `feedback.md`).
20
+
21
+ **STEP 2 — Read every identified reference file in full.**
22
+ Call `read_file` (or equivalent) on each reference file identified in Step 1. You must do this even if you believe you already know the answer. Do not skip, skim, or partially read a reference file.
23
+
24
+ **STEP 3 — Check app setup.**
25
+ If the component is new to the project (or you're scaffolding a new feature), also read [`references/setup.md`](./references/setup.md) to verify the correct providers and entry-point import patterns. Missing `provideAnimations()` is the most common source of runtime failures.
26
+
27
+ **STEP 4 — Only then produce output.**
28
+ Base your code and explanation exclusively on what you read. If the reference files do not cover something, say so explicitly rather than guessing.
29
+
30
+ ### Task → Reference File
31
+
32
+ | Task | Reference file to read |
33
+ |---|---|
34
+ | App setup, `app.config.ts` providers, `provideAnimations()`, entry-point imports, convenience directive arrays | [`references/setup.md`](./references/setup.md) |
35
+ | Input Group, Combo, Simple Combo, Select, Date Picker, Date Range Picker, Time Picker, Calendar, Checkbox, Radio, Switch, Slider, reactive/template-driven forms | [`references/form-controls.md`](./references/form-controls.md) |
36
+ | Tabs, Bottom Navigation, Stepper, Accordion, Expansion Panel, Splitter, Navigation Drawer | [`references/layout.md`](./references/layout.md) |
37
+ | List, Tree, Card, Chips, Avatar, Badge, Icon, Carousel, Paginator, Progress Indicators, Chat | [`references/data-display.md`](./references/data-display.md) |
38
+ | Dialog, Snackbar, Toast, Banner | [`references/feedback.md`](./references/feedback.md) |
39
+ | Button, Icon Button, Ripple, Tooltip, Drag and Drop | [`references/directives.md`](./references/directives.md) |
40
+ | Layout Manager (`igxLayout`, `igxFlex` directives), Dock Manager (`igc-dockmanager` web component) | [`references/layout-manager.md`](./references/layout-manager.md) |
41
+ | Charts (Area, Bar, Column, Stock/Financial, Pie), chart configuration, chart features (animation, tooltips, markers, highlighting, zooming), data binding | [`references/charts.md`](./references/charts.md) |
42
+
43
+ > **When in doubt, read more rather than fewer reference files.** The cost of an unnecessary file read is negligible; the cost of hallucinated API usage is a broken application.
44
+
45
+ ---
46
+
47
+ ## Prerequisites
48
+
49
+ - Angular 20+ project
50
+ - `@angular/cli` installed
51
+ - `igniteui-angular` or `@infragistics/igniteui-angular` added to the project via `ng add igniteui-angular` (or the `@infragistics` variant) or `npm install` — see [Package Variants](#package-variants) below.
52
+ - A theme applied to the application (see [`igniteui-angular-theming`](../igniteui-angular-theming/SKILL.md)).
53
+ - `provideAnimations()` in `app.config.ts` — **required before using any overlay or animated component**
54
+
55
+
56
+ ## Package Variants
57
+
58
+ | Package | Install | Who uses it |
59
+ |---|---|---|
60
+ | `igniteui-angular` | `npm install igniteui-angular` | Open-source / community |
61
+ | `@infragistics/igniteui-angular` | Requires private `@infragistics` registry | Licensed / enterprise users |
62
+
63
+ Both packages share **identical entry-point paths**. Check `package.json` and use that package name as the prefix for every import. Never import from the root barrel of either package.
64
+ Both packages can be added to the project using `@angular/cli` with the following commands: `ng add igniteui-angular` or `ng add @infragistics/igniteui-angular`.
65
+
66
+ ---
67
+
68
+ ## Related Skills
69
+
70
+ - [`igniteui-angular-grids`](../igniteui-angular-grids/SKILL.md) — Data Grids (Flat Grid, Tree Grid, Hierarchical Grid, Pivot Grid, Grid Lite)
71
+ - [`igniteui-angular-theming`](../igniteui-angular-theming/SKILL.md) — Theming & Styling
@@ -0,0 +1,447 @@
1
+ # Angular Charts Reference
2
+
3
+ ## Overview
4
+
5
+ Ignite UI for Angular Charts provides 65+ chart types for data visualization. Charts are packaged separately in `igniteui-angular-charts` (or `@infragistics/igniteui-angular-charts` for licensed users).
6
+
7
+ ### Chart Component packages
8
+ - `igniteui-angular-charts` — Category Chart, Financial Chart, Data Chart, and Pie Chart components (NPM)
9
+ - `@infragistics/igniteui-angular-charts` — Licensed version with same API (ProGet)
10
+
11
+ ### Main Chart Components
12
+
13
+ > **IMPORTANT — Not Standalone Components**: Chart components from `igniteui-angular-charts` are **NOT** Angular standalone components (they predate the standalone API). They must always be imported via their **NgModule**. Standalone Angular components (Angular 14+) can still import NgModules directly in their `imports` array — this is fully supported.
14
+
15
+ | Component | NgModule to import | Description |
16
+ |---|---|---|
17
+ | `IgxCategoryChartComponent` | `IgxCategoryChartModule` | Simplified API for area, bar, column charts |
18
+ | `IgxFinancialChartComponent` | `IgxFinancialChartModule` | Stock/candlestick charts with OHLC data |
19
+ | `IgxDataChartComponent` | `IgxDataChartModule` | Advanced: explicit axes, series, >65 chart types |
20
+ | `IgxPieChartComponent` | `IgxPieChartModule` | Part-to-whole pie and donut charts |
21
+ | `IgxDataPieChartComponent` | `IgxDataPieChartModule` | Simplified API for pie charts |
22
+ | `IgxLegendComponent` | `IgxLegendModule` | Shared legend component |
23
+
24
+ ### When to use each:
25
+ - **Category Chart** → Use for simple area/bar/column; let framework auto-configure
26
+ - **Financial Chart** → Use for stock data with time-series OHLC, indicators, volume
27
+ - **Data Chart** → Use for advanced scenarios: multiple axes, custom series combinations, stacked/scatter
28
+ - **Pie Chart** → Use for part-to-whole (segments sum to 100%)
29
+
30
+ ---
31
+
32
+ ## General Chart Configuration
33
+
34
+ ### Data Binding
35
+ ```typescript
36
+ // Category Chart uses 'dataSource' to bind data (auto-detects numeric fields)
37
+ chartComponent.dataSource = [
38
+ { month: 'Jan', revenue: 5000 },
39
+ { month: 'Feb', revenue: 6500 }
40
+ ];
41
+
42
+ // Data Chart uses 'itemsSource' and explicit series configuration
43
+ chartComponent.itemsSource = dataArray;
44
+ ```
45
+
46
+ ### Chart Type Selection
47
+ - **Category Chart**: `chartType` property (Area, Bar, Column, Line, etc.)
48
+ - **Financial Chart**: `chartType` property (Line, Candlestick, OHLC Bar)
49
+ - **Data Chart**: Configure explicit series (IgxAreaSeriesComponent, IgxBarSeriesComponent, etc.)
50
+ - **Pie Chart**: No chartType needed; inherent pie structure
51
+
52
+ ### Required Properties
53
+
54
+ **IgxCategoryChartComponent** (simplest API; auto-detects numeric & string columns):
55
+ - `dataSource` — Data array (required)
56
+ - `chartType` — Chart type (Area, Bar, Column, Line, etc.)
57
+ - Component auto-detects: first string column → X-axis labels, numeric columns → Y-axis data
58
+
59
+ **IgxDataChartComponent** (advanced; requires explicit configuration):
60
+ - `itemsSource` — Data array (required)
61
+ - `valueMemberPath` — Which property contains numeric values (for series)
62
+ - Requires explicit axis and series components
63
+
64
+ **IgxFinancialChartComponent** (stock data):
65
+ - `dataSource` — Data array with date + OHLC columns
66
+ - `openMemberPath`, `highMemberPath`, `lowMemberPath`, `closeMemberPath` — OHLC field names
67
+
68
+ **IgxPieChartComponent**:
69
+ - `dataSource` — Data array
70
+ - `labelMemberPath` — Field with category labels
71
+ - `valueMemberPath` — Field with numeric values
72
+
73
+ ### Responsive & Sizing
74
+ - Charts auto-resize with container
75
+ - Set height/width on chart container (div, flexbox parent)
76
+ - Use CSS for responsive behavior
77
+
78
+ ---
79
+
80
+ ## Key Chart Features
81
+
82
+ ### Axis Configuration
83
+ - **X-Axis**: Category (string/date) or Numeric (scatter/financial)
84
+ - **Y-Axis**: Always numeric
85
+ - Properties: `xAxisTitle`, `yAxisTitle`, `xAxisInterval`, `yAxisMinimumValue`, `yAxisMaximumValue`
86
+ - Gridlines: `xAxisMajorStroke`, `yAxisMajorStroke`, gridline styling
87
+
88
+ ### Tooltips
89
+ - **Default tooltips**: Auto-enabled; style with `toolTipType` (Category, Item, etc.)
90
+ - **Custom tooltips**: `tooltipTemplate` directive for custom content
91
+ - Properties: `showDefaultTooltip`, `toolTipBrush` (color)
92
+
93
+ ### Markers & Data Points
94
+ - Control marker visibility and style via `markerTypes`, `markerBrushes`, `markerOutlines`
95
+ - Properties: `markerSize`, `markerShape` (Circle, Square, Triangle, etc.)
96
+ - Use marker templates for custom marker appearance
97
+
98
+ ### Animations
99
+ - Enable with `transitionInMode` (Auto, None, FromZero, FromSeries, etc.)
100
+ - Control speed via `transitionDuration` (milliseconds)
101
+ - Works on initial load and data updates
102
+
103
+ ### Highlighting & Selection
104
+ - **Highlighting**: Mouse hover effect; set `highlightingMode`, `highlightingBehavior`
105
+ - **Selection**: Click to select data points/series; properties vary by chart type
106
+
107
+ ### Zooming & Panning
108
+ - Mouse wheel to zoom; drag to pan
109
+ - Properties: `isHorizontalZoomEnabled`, `isVerticalZoomEnabled`
110
+ - Keyboard support: Arrow keys, +/- for zoom
111
+
112
+ ### Trendlines
113
+ - Visualize data trends with trendline types (Linear, Logarithmic, Exponential, etc.)
114
+ - Property: `trendLineType` (Category/Financial charts)
115
+
116
+ ### Legend
117
+ - Display with `legend` property (assign `IgxLegendComponent`)
118
+ - `legendItemTemplate` for custom legend items
119
+ - Properties: `showLegend`, `legendOrientation`, `legendPosition`
120
+
121
+ ### Annotations
122
+ - **Crosshairs**: `crosshairsDisplayMode` (None, Vertical, Horizontal, Both)
123
+ - **Final Value Layer**: Show ending values on axis
124
+ - **Callout Layer**: Custom callouts at specific values
125
+ - **Range Annotations**: Highlight data ranges
126
+
127
+ ---
128
+
129
+ ## Chart Types Reference
130
+
131
+ ### Area Chart (`IgxCategoryChartComponent`, `chartType: 'Area'`)
132
+ - **Use**: Trends over time, cumulative part-to-whole
133
+ - **Data**: X-axis categories, Y-axis numeric values
134
+ - **Variants**: Area, StepArea, Stacked Area, Stacked 100% Area
135
+ - **API**: `chartType`, `valueMemberPath`, `categoryXAxis`
136
+ - **Best Practices**:
137
+ - Start Y-axis at 0 for accuracy
138
+ - Use transparent colors for overlaid series
139
+ - Order time-series left to right
140
+ - **Avoid**: More than 7-10 series (readability), when data values are similar (overlap)
141
+
142
+ ### Bar Chart (`IgxDataChartComponent`, `IgxBarSeriesComponent`)
143
+ - **Use**: Compare categories, show rankings, time-series changes
144
+ - **Data**: X-axis numeric, Y-axis categories (reversed from Column)
145
+ - **Variants**: Grouped Bar, Stacked Bar, Stacked 100% Bar, Polar Bar
146
+ - **API**: `IgxBarSeriesComponent`, `valueMemberPath`, `argumentMemberPath`
147
+ - **Best Practices**:
148
+ - Start numeric axis at 0
149
+ - Sort categories by value (ascending/descending)
150
+ - Right-align Y-axis labels
151
+ - **Avoid**: Too much data (axis becomes illegible), Time-series detail (use Line instead)
152
+
153
+ ### Column Chart (`IgxCategoryChartComponent`, `chartType: 'Column'`)
154
+ - **Use**: Compare categories, show distribution, time-series changes
155
+ - **Data**: X-axis categories, Y-axis numeric values
156
+ - **Variants**: Column, StackedColumn, Stacked100%Column, RangeColumn, WaterfallColumn
157
+ - **API**: `chartType`, `valueMemberPath`, `categoryXAxis`
158
+ - **Best Practices**:
159
+ - Start Y-axis at 0
160
+ - Order time-series left to right
161
+ - **Avoid**: Many series (>10) side-by-side (readability)
162
+ - **Related**: Bar Chart (same but horizontal), Waterfall (show differences between values)
163
+
164
+ ### Stock Chart (`IgxFinancialChartComponent`)
165
+ - **Use**: Financial/OHLC data analysis, candlestick visualization, technical indicators
166
+ - **Data Structure**:
167
+ - **Required**: Date/time column, numeric value column(s)
168
+ - **For Candlestick**: Open, High, Low, Close (4 numeric columns)
169
+ - **With Volume**: Open, High, Low, Close, Volume (5 numeric columns)
170
+ - **Display Modes**:
171
+ - **Price Pane**: Show candlestick, OHLC bar, line (configurable via `chartType`)
172
+ - **Volume Pane**: Show trading volume (column, line, or area chart)
173
+ - **Indicator Pane**: Financial indicators (RSI, MACD, Bollinger Bands, etc.)
174
+ - **Zoom Pane**: Navigation slider to zoom/pan
175
+ - **Chart Types**: `Line`, `Candlestick` (default), `OHLC Bar`, `Column`
176
+ - **API**:
177
+ - `chartType` — Price display type (Line, Candlestick, OHLC, Column — default Auto)
178
+ - `volumeType` — Volume display (None, Column, Line, Area)
179
+ - `indicatorTypes` — Array of indicators (0 or more)
180
+ - `zoomSliderType` — Zoom pane display (defaults to match chartType)
181
+ - **Indicators**: RSI, MACD, Bollinger Bands, Force Index, Standard Deviation, and more
182
+ - **Features**:
183
+ - Crosshairs with value snapshots
184
+ - Trendlines and overlays
185
+ - Time-based filters (users can select 1M, 3M, 6M, YTD, 1Y, ALL)
186
+ - **Data Binding**:
187
+ - `openMemberPath`, `highMemberPath`, `lowMemberPath`, `closeMemberPath`, `volumeMemberPath`
188
+ - `dateMemberPath` — Date/time column
189
+
190
+ ### Pie Chart (`IgxPieChartComponent` or `IgxDataPieChartComponent`)
191
+ - **Use**: Part-to-whole visualization (segments sum to 100%)
192
+ - **Data**: Category labels, numeric values
193
+ - **Variants**: Pie, Donut (ring), Radial Pie
194
+ - **API**:
195
+ - `labelMemberPath` — Data property for slice labels
196
+ - `valueMemberPath` — Data property for numeric values
197
+ - `legend` — Assign IgxLegendComponent for legend display
198
+ - `selectionMode` — Single, Multiple, Manual (default Single)
199
+ - `othersCategoryThreshold` — Combine small slices into "Others"
200
+ - `othersCategoryType` — Threshold as Number or Percent
201
+ - `allowSliceExplosion` — Enable click to expand slice
202
+ - `allowSliceSelection` — Enable click selection highlighting
203
+ - **Features**:
204
+ - Slice explosion (separate a slice from pie)
205
+ - Slice selection (single or multiple)
206
+ - Legends with custom item templates
207
+ - Animation on load
208
+ - "Others" category for small segments
209
+ - **Best Practices**:
210
+ - Use for small data sets (6-8 segments max)
211
+ - Arrange largest to smallest (clockwise from 12 o'clock)
212
+ - Ensure segments sum to 100%
213
+ - Use distinguishable colors
214
+ - **Avoid**: Many segments (>8), change over time (use Bar/Line instead), precise comparisons (Bar is better)
215
+
216
+ ---
217
+
218
+ ## Common API Members by Chart Type
219
+
220
+ ### IgxCategoryChartComponent (Area, Bar, Column, Line, etc.)
221
+ ```typescript
222
+ // Required
223
+ dataSource: any[]; // Data array (auto-detects numeric fields)
224
+ chartType: ChartType; // Area, Bar, Column, Line, Waterfall, etc.
225
+
226
+ // Common optional inputs
227
+ xAxisTitle: string; // X-axis label
228
+ yAxisTitle: string; // Y-axis label
229
+ xAxisLabelLocation: AxisLabelLocation; // Axis label alignment
230
+ yAxisLabelLocation: AxisLabelLocation;
231
+ yAxisMinimumValue: number; // Y-axis minimum
232
+ yAxisMaximumValue: number; // Y-axis maximum
233
+ brushes: string[]; // Series colors (fill)
234
+ outlines: string[]; // Series colors (outline)
235
+ markerTypes: MarkerType[]; // Marker shapes (Circle, Square, etc.)
236
+ markerBrushes: string[]; // Marker fill colors
237
+ markerOutlines: string[]; // Marker outline colors
238
+ toolTipType: ToolTipType; // Tooltip display mode
239
+ highlightingMode: HighlightingMode; // Hover highlight behavior
240
+ highlightingBehavior: HighlightingBehavior;
241
+ trendLineType: TrendLineType; // Trendline visualization
242
+ transitionInMode: TransitionInMode; // Animation on load
243
+ transitionInDuration: number; // Animation duration (milliseconds)
244
+ ```
245
+
246
+ ### IgxFinancialChartComponent (Stock/Candlestick/OHLC)
247
+ ```typescript
248
+ chartType: FinancialChartType; // Line, Candlestick, OHLC, Column
249
+ itemsSource: any[];
250
+ openMemberPath: string;
251
+ highMemberPath: string;
252
+ lowMemberPath: string;
253
+ closeMemberPath: string;
254
+ volumeMemberPath: string;
255
+ dateMemberPath: string;
256
+ volumeType: VolumeType; // None, Column, Line, Area
257
+ indicatorTypes: IndicatorType[]; // RSI, MACD, etc.
258
+ zoomSliderType: FinancialChartType; // Should match chartType
259
+ xAxisTitle: string;
260
+ yAxisTitle: string;
261
+ xAxisMode: AxisMode; // OrdinalTimeX, DateTimeX
262
+ yAxisMode: AxisMode;
263
+ showDefaultTooltip: boolean;
264
+ isHorizontalZoomEnabled: boolean;
265
+ isVerticalZoomEnabled: boolean;
266
+ crosshairsDisplayMode: CrosshairsDisplayMode;
267
+ trendLineType: TrendLineType;
268
+ ```
269
+
270
+ ### IgxPieChartComponent / IgxDataPieChartComponent
271
+ ```typescript
272
+ itemsSource: any[];
273
+ labelMemberPath: string;
274
+ valueMemberPath: string;
275
+ legend: IgxLegendComponent;
276
+ legendLabelMemberPath: string;
277
+ legendItemTemplate: TemplateRef;
278
+ legendItemBadgeTemplate: TemplateRef;
279
+ selectionMode: SelectionMode; // Single, Multiple, Manual
280
+ selectionBehavior: SelectionBehavior;
281
+ allowSliceExplosion: boolean;
282
+ allowSliceSelection: boolean;
283
+ othersCategoryThreshold: number;
284
+ othersCategoryType: OthersCategoryType; // Number, Percent
285
+ startAngle: number;
286
+ radiusFactor: number;
287
+ showDefaultTooltip: boolean;
288
+ toolTipType: ToolTipType;
289
+ highlightingMode: HighlightingMode;
290
+ ```
291
+
292
+ ---
293
+
294
+ ## Import Paths
295
+
296
+ > **Chart components are NOT standalone** — always import via their NgModule, never by component class. Standalone Angular components can import NgModules directly in their `imports` array.
297
+
298
+ ### NgModule imports (required for all project types)
299
+
300
+ ```typescript
301
+ // NgModules — import these into your standalone component's 'imports' array
302
+ // or into an NgModule's 'imports' array
303
+ import {
304
+ IgxCategoryChartModule, // provides IgxCategoryChartComponent
305
+ IgxFinancialChartModule, // provides IgxFinancialChartComponent
306
+ IgxDataChartModule, // provides IgxDataChartComponent + all series/axes
307
+ IgxPieChartModule, // provides IgxPieChartComponent
308
+ IgxDataPieChartModule, // provides IgxDataPieChartComponent
309
+ IgxLegendModule, // provides IgxLegendComponent
310
+ } from 'igniteui-angular-charts';
311
+
312
+ // Enums and types — these ARE plain TS exports and can be imported directly
313
+ import {
314
+ ChartType,
315
+ FinancialChartType,
316
+ MarkerType,
317
+ ToolTipType,
318
+ TrendLineType,
319
+ HighlightingMode,
320
+ TransitionInMode,
321
+ AxisLabelLocation,
322
+ CrosshairsDisplayMode,
323
+ LegendOrientation,
324
+ OthersCategoryType,
325
+ SelectionMode,
326
+ IndicatorType,
327
+ VolumeType,
328
+ AxisMode
329
+ } from 'igniteui-angular-charts';
330
+ ```
331
+
332
+ ### Standalone component example
333
+
334
+ ```typescript
335
+ import { Component } from '@angular/core';
336
+ import {
337
+ IgxCategoryChartModule,
338
+ ChartType
339
+ } from 'igniteui-angular-charts';
340
+
341
+ @Component({
342
+ selector: 'app-sales-chart',
343
+ imports: [
344
+ IgxCategoryChartModule // ✅ Import the NgModule, NOT IgxCategoryChartComponent
345
+ ],
346
+ template: `
347
+ <igx-category-chart
348
+ [dataSource]="data"
349
+ chartType="Column"
350
+ xAxisTitle="Month"
351
+ yAxisTitle="Revenue ($)"
352
+ [transitionInMode]="'FromZero'"
353
+ [transitionInDuration]="400">
354
+ </igx-category-chart>
355
+ `
356
+ })
357
+ export class SalesChartComponent {
358
+ data = [
359
+ { month: 'Jan', revenue: 5000 },
360
+ { month: 'Feb', revenue: 6500 },
361
+ { month: 'Mar', revenue: 7200 }
362
+ ];
363
+ }
364
+ ```
365
+
366
+ ### Common errors and fixes
367
+
368
+ **Error 1: NG2011 — component not standalone**
369
+ ```
370
+ // ❌ WRONG: importing component directly
371
+ import { IgxCategoryChartComponent } from 'igniteui-angular-charts';
372
+ @Component({ imports: [IgxCategoryChartComponent] })
373
+
374
+ // ✅ CORRECT: import the NgModule instead
375
+ import { IgxCategoryChartModule } from 'igniteui-angular-charts';
376
+ @Component({ imports: [IgxCategoryChartModule] })
377
+ ```
378
+
379
+ **Error 2: NG8002 — can't bind to property (incorrect inputs)**
380
+ ```
381
+ // ❌ WRONG: using IgxDataChartComponent or generic property names
382
+ <igx-category-chart
383
+ [itemsSource]="data" <!-- Use 'dataSource' instead -->
384
+ [valueMemberPath]="'value'" <!-- Auto-detected for Category Chart -->
385
+ [showDefaultTooltip]="true" <!-- Not a valid input -->
386
+ [transitionDuration]="400"> <!-- Use 'transitionInDuration' -->
387
+
388
+ // ✅ CORRECT: use Category Chart's actual inputs
389
+ <igx-category-chart
390
+ [dataSource]="data"
391
+ chartType="Column"
392
+ [transitionInMode]="'FromZero'"
393
+ [transitionInDuration]="400">
394
+ ```
395
+
396
+ **Key difference**: IgxCategoryChartComponent **auto-detects** numeric columns and requires minimal configuration. For fine-grained control over field mapping and series types, use `IgxDataChartComponent` instead (but it requires explicit series and axis components).
397
+
398
+ ---
399
+
400
+ ## Styling & Theming
401
+
402
+ ### Color Customization
403
+ - **Series colors**: `brushes` (fill), `outlines` (border)
404
+ - **Marker colors**: `markerBrushes`, `markerOutlines`
405
+ - **Axis styles**: `xAxisMajorStroke`, `yAxisMajorStroke`, `xAxisLabelBrush`, `yAxisLabelBrush`
406
+ - **Tooltip**: `toolTipBrush`, `toolTipTextColor`
407
+ - **Highlight**: `highlightedSeriesOpacity`, `highlightedItemsOpacity`
408
+
409
+ ### CSS & Host Binding
410
+ - Chart containers inherit CSS flex/grid properties
411
+ - Use host element width/height for responsive sizing
412
+ - Theme colors via `IgxTheme` palette
413
+
414
+ ---
415
+
416
+ ## Data Requirements
417
+
418
+ ### Category Chart (Area, Bar, Column, Line)
419
+ - Array or list of data items
420
+ - At least 1 numeric column (values)
421
+ - Optionally 1 string/date column (labels)
422
+ - Example: `[{ month: 'Jan', value: 100 }, { month: 'Feb', value: 150 }]`
423
+
424
+ ### Financial Chart (Stock)
425
+ - Array of data items with date/time column
426
+ - For Candlestick: 4 numeric columns (O, H, L, C)
427
+ - For Volume: 5 numeric columns (O, H, L, C, Volume)
428
+ - Example: `[{ date: '2024-01-01', open: 100, high: 120, low: 95, close: 115, volume: 1000 }]`
429
+
430
+ ### Pie Chart
431
+ - Array of data items
432
+ - 1 label column (category)
433
+ - 1 numeric column (value; segments should sum to 100%)
434
+ - Example: `[{ label: 'Category A', value: 30 }, { label: 'Category B', value: 70 }]`
435
+
436
+ ---
437
+
438
+ ## Documentation References
439
+
440
+ - **Chart Overview**: https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/chart-overview
441
+ - **Chart API**: https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/chart-api
442
+ - **Chart Features**: https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/chart-features
443
+ - **Area Chart**: https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/area-chart
444
+ - **Bar Chart**: https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/bar-chart
445
+ - **Column Chart**: https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/column-chart
446
+ - **Stock Chart**: https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/stock-chart
447
+ - **Pie Chart**: https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/pie-chart