igniteui-angular 21.1.0 → 21.1.1

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 (30) hide show
  1. package/fesm2022/igniteui-angular-directives.mjs +28 -28
  2. package/fesm2022/igniteui-angular-directives.mjs.map +1 -1
  3. package/fesm2022/igniteui-angular-grids-core.mjs +3 -0
  4. package/fesm2022/igniteui-angular-grids-core.mjs.map +1 -1
  5. package/fesm2022/igniteui-angular-grids-grid.mjs +8 -7
  6. package/fesm2022/igniteui-angular-grids-grid.mjs.map +1 -1
  7. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs +2 -2
  8. package/fesm2022/igniteui-angular-grids-pivot-grid.mjs.map +1 -1
  9. package/package.json +1 -1
  10. package/skills/igniteui-angular-components/SKILL.md +6 -9
  11. package/skills/igniteui-angular-components/references/charts.md +20 -10
  12. package/skills/igniteui-angular-components/references/data-display.md +13 -0
  13. package/skills/igniteui-angular-components/references/directives.md +123 -0
  14. package/skills/igniteui-angular-components/references/feedback.md +8 -0
  15. package/skills/igniteui-angular-components/references/form-controls.md +15 -0
  16. package/skills/igniteui-angular-components/references/layout-manager.md +5 -0
  17. package/skills/igniteui-angular-components/references/layout.md +9 -0
  18. package/skills/igniteui-angular-components/references/setup.md +10 -1
  19. package/skills/igniteui-angular-grids/SKILL.md +6 -6
  20. package/skills/igniteui-angular-grids/references/data-operations.md +13 -4
  21. package/skills/igniteui-angular-grids/references/editing.md +12 -1
  22. package/skills/igniteui-angular-grids/references/features.md +26 -10
  23. package/skills/igniteui-angular-grids/references/paging-remote.md +13 -4
  24. package/skills/igniteui-angular-grids/references/state.md +17 -151
  25. package/skills/igniteui-angular-grids/references/structure.md +9 -0
  26. package/skills/igniteui-angular-grids/references/types.md +104 -25
  27. package/skills/igniteui-angular-theming/SKILL.md +6 -106
  28. package/skills/igniteui-angular-theming/references/common-patterns.md +45 -0
  29. package/skills/igniteui-angular-theming/references/mcp-setup.md +77 -0
  30. package/types/igniteui-angular-grids-grid.d.ts +1 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "igniteui-angular",
3
- "version": "21.1.0",
3
+ "version": "21.1.1",
4
4
  "description": "Ignite UI for Angular is a dependency-free Angular toolkit for building modern web apps",
5
5
  "author": "Infragistics",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -1,7 +1,7 @@
1
1
  ---
2
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
3
+ description: "Covers all non-grid Ignite UI for Angular UI components: application scaffolding and setup, form controls (inputs, combos, selects, date/time pickers, calendar, checkbox, radio, switch, slider), layout containers (tabs, stepper, accordion, splitter, navigation drawer), data-display components (list, tree, card, chips, carousel, paginator, progress indicators, chat), feedback overlays (dialog, snackbar, toast, banner), directives (button, icon button, button group, ripple, tooltip, drag-and-drop), Dock Manager, Layout Manager, and Charts. Use when users ask about any Ignite UI Angular component that is NOT a data grid — such as forms, dropdowns, pickers, dialogs, navigation, lists, trees, cards, charts, or initial project setup. Do NOT use for data grids, tables, or tabular data — use igniteui-angular-grids instead. Do NOT use for theming or styling — use igniteui-angular-theming instead."
4
+ user-invocable: true
5
5
  ---
6
6
 
7
7
  # Ignite UI for Angular — UI Components
@@ -18,13 +18,10 @@ You are **required** to complete ALL of the following steps before producing any
18
18
  **STEP 1 — Identify every component or feature involved.**
19
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
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.
21
+ **STEP 2 — Read every identified reference file in full (PARALLEL).**
22
+ Call `read_file` (or equivalent) on **all** reference files identified in Step 1 **in a single parallel batch** — do NOT read them one at a time sequentially. You must do this even if you believe you already know the answer. Do not skip, skim, or partially read a reference file.
23
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.**
24
+ **STEP 3 — Only then produce output.**
28
25
  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
26
 
30
27
  ### Task → Reference File
@@ -36,7 +33,7 @@ Base your code and explanation exclusively on what you read. If the reference fi
36
33
  | Tabs, Bottom Navigation, Stepper, Accordion, Expansion Panel, Splitter, Navigation Drawer | [`references/layout.md`](./references/layout.md) |
37
34
  | List, Tree, Card, Chips, Avatar, Badge, Icon, Carousel, Paginator, Progress Indicators, Chat | [`references/data-display.md`](./references/data-display.md) |
38
35
  | 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) |
36
+ | Button, Icon Button, Button Group, Ripple, Tooltip, Drag and Drop | [`references/directives.md`](./references/directives.md) |
40
37
  | Layout Manager (`igxLayout`, `igxFlex` directives), Dock Manager (`igc-dockmanager` web component) | [`references/layout-manager.md`](./references/layout-manager.md) |
41
38
  | 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
39
 
@@ -1,5 +1,17 @@
1
1
  # Angular Charts Reference
2
2
 
3
+ ## Contents
4
+
5
+ - [Overview](#overview)
6
+ - [General Chart Configuration](#general-chart-configuration)
7
+ - [Key Chart Features](#key-chart-features)
8
+ - [Chart Types Reference](#chart-types-reference)
9
+ - [Common API Members by Chart Type](#common-api-members-by-chart-type)
10
+ - [Import Paths](#import-paths)
11
+ - [Styling & Theming](#styling--theming)
12
+ - [Data Requirements](#data-requirements)
13
+ - [Documentation References](#documentation-references)
14
+
3
15
  ## Overview
4
16
 
5
17
  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).
@@ -303,7 +315,6 @@ highlightingMode: HighlightingMode;
303
315
  import {
304
316
  IgxCategoryChartModule, // provides IgxCategoryChartComponent
305
317
  IgxFinancialChartModule, // provides IgxFinancialChartComponent
306
- IgxDataChartModule, // provides IgxDataChartComponent + all series/axes
307
318
  IgxPieChartModule, // provides IgxPieChartComponent
308
319
  IgxDataPieChartModule, // provides IgxDataPieChartComponent
309
320
  IgxLegendModule, // provides IgxLegendComponent
@@ -311,21 +322,20 @@ import {
311
322
 
312
323
  // Enums and types — these ARE plain TS exports and can be imported directly
313
324
  import {
314
- ChartType,
315
325
  FinancialChartType,
316
326
  MarkerType,
317
327
  ToolTipType,
318
- TrendLineType,
328
+ TrendLineTypeCollection,
319
329
  HighlightingMode,
320
- TransitionInMode,
321
- AxisLabelLocation,
330
+ TransitionInSpeedType,
331
+ AxisLabelSettings,
322
332
  CrosshairsDisplayMode,
323
333
  LegendOrientation,
324
- OthersCategoryType,
325
- SelectionMode,
326
- IndicatorType,
327
- VolumeType,
328
- AxisMode
334
+ OthersCategoryContext,
335
+ SeriesSelectionMode,
336
+ IndicatorDisplayType,
337
+ FinancialChartVolumeType,
338
+ AxisOrientation
329
339
  } from 'igniteui-angular-charts';
330
340
  ```
331
341
 
@@ -3,6 +3,19 @@
3
3
  > **Part of the [`igniteui-angular-components`](../SKILL.md) skill hub.**
4
4
  > For app setup, providers, and import patterns — see [`setup.md`](./setup.md).
5
5
 
6
+ ## Contents
7
+
8
+ - [List](#list)
9
+ - [Tree](#tree)
10
+ - [Card](#card)
11
+ - [Chips](#chips)
12
+ - [Avatar & Badge](#avatar--badge)
13
+ - [Icon](#icon)
14
+ - [Carousel](#carousel)
15
+ - [Paginator](#paginator)
16
+ - [Progress Indicators](#progress-indicators)
17
+ - [Chat (AI Chat Component)](#chat-ai-chat-component)
18
+
6
19
  ## List
7
20
 
8
21
  > **Docs:** [List Component](https://www.infragistics.com/products/ignite-ui-angular/angular/components/list)
@@ -3,6 +3,14 @@
3
3
  > **Part of the [`igniteui-angular-components`](../SKILL.md) skill hub.**
4
4
  > For app setup, providers, and import patterns — see [`setup.md`](./setup.md).
5
5
 
6
+ ## Contents
7
+
8
+ - [Button & Icon Button](#button--icon-button)
9
+ - [Button Group](#button-group)
10
+ - [Ripple Effect](#ripple-effect)
11
+ - [Tooltip](#tooltip)
12
+ - [Drag and Drop](#drag-and-drop)
13
+
6
14
  ## Button & Icon Button
7
15
 
8
16
  > **Docs:** [Button Component](https://www.infragistics.com/products/ignite-ui-angular/angular/components/button)
@@ -33,6 +41,121 @@ import { IgxIconComponent } from 'igniteui-angular/icon';
33
41
  Button variants for `igxButton`: `'flat'`, `'raised'`, `'outlined'`, `'fab'`.
34
42
  Button variants for `igxIconButton`: `'flat'`, `'outlined'`, `'contained'`.
35
43
 
44
+ ## Button Group
45
+
46
+ > **Docs:** [Button Group Component](https://www.infragistics.com/products/ignite-ui-angular/angular/components/buttongroup)
47
+
48
+ ```typescript
49
+ // Option A — convenience collection (includes IgxButtonGroupComponent + IgxButtonDirective)
50
+ import { IGX_BUTTON_GROUP_DIRECTIVES } from 'igniteui-angular/button-group';
51
+
52
+ // Option B — individual imports
53
+ import { IgxButtonGroupComponent } from 'igniteui-angular/button-group';
54
+ import { IgxButtonDirective } from 'igniteui-angular/directives';
55
+
56
+ import { IgxIconComponent } from 'igniteui-angular/icon';
57
+ ```
58
+
59
+ ```html
60
+ <!-- Text buttons — single selection (default) -->
61
+ <igx-buttongroup>
62
+ <button igxButton>Left</button>
63
+ <button igxButton [selected]="true">Center</button>
64
+ <button igxButton>Right</button>
65
+ </igx-buttongroup>
66
+
67
+ <!-- Multi-selection -->
68
+ <igx-buttongroup selectionMode="multi">
69
+ <button igxButton><igx-icon>format_bold</igx-icon></button>
70
+ <button igxButton><igx-icon>format_italic</igx-icon></button>
71
+ <button igxButton><igx-icon>format_underlined</igx-icon></button>
72
+ </igx-buttongroup>
73
+
74
+ <!-- singleRequired — always keeps one button selected, cannot deselect -->
75
+ <igx-buttongroup selectionMode="singleRequired">
76
+ <button igxButton [selected]="true">Day</button>
77
+ <button igxButton>Week</button>
78
+ <button igxButton>Month</button>
79
+ </igx-buttongroup>
80
+
81
+ <!-- Vertical alignment -->
82
+ <igx-buttongroup alignment="vertical">
83
+ <button igxButton>Top</button>
84
+ <button igxButton>Middle</button>
85
+ <button igxButton>Bottom</button>
86
+ </igx-buttongroup>
87
+
88
+ <!-- Disabled group -->
89
+ <igx-buttongroup [disabled]="true">
90
+ <button igxButton>A</button>
91
+ <button igxButton>B</button>
92
+ </igx-buttongroup>
93
+
94
+ <!-- React to selection / deselection events -->
95
+ <igx-buttongroup (selected)="onSelected($event)" (deselected)="onDeselected($event)">
96
+ <button igxButton>One</button>
97
+ <button igxButton>Two</button>
98
+ <button igxButton>Three</button>
99
+ </igx-buttongroup>
100
+ ```
101
+
102
+ ```typescript
103
+ import { IButtonGroupEventArgs } from 'igniteui-angular/button-group';
104
+
105
+ onSelected(event: IButtonGroupEventArgs) {
106
+ console.log('Selected index:', event.index, 'button:', event.button);
107
+ }
108
+
109
+ onDeselected(event: IButtonGroupEventArgs) {
110
+ console.log('Deselected index:', event.index);
111
+ }
112
+ ```
113
+
114
+ **Key inputs on `igx-buttongroup`:**
115
+
116
+ | Input | Type | Default | Description |
117
+ |---|---|---|---|
118
+ | `selectionMode` | `'single' \| 'singleRequired' \| 'multi'` | `'single'` | Selection behaviour. `singleRequired` prevents full deselection. |
119
+ | `alignment` | `'horizontal' \| 'vertical'` | `'horizontal'` | Layout direction of the buttons. |
120
+ | `disabled` | `boolean` | `false` | Disables every button in the group. |
121
+
122
+ **Key outputs on `igx-buttongroup`:**
123
+
124
+ | Output | Payload | Emits when |
125
+ |---|---|---|
126
+ | `(selected)` | `IButtonGroupEventArgs` | A button is selected. |
127
+ | `(deselected)` | `IButtonGroupEventArgs` | A button is deselected. |
128
+
129
+ `IButtonGroupEventArgs`: `{ owner: IgxButtonGroupComponent; button: IgxButtonDirective; index: number }`, where `IgxButtonDirective` is imported from `igniteui-angular/directives` (see **Button & Icon Button** section above).
130
+
131
+ **Key inputs on each `<button igxButton>` child:**
132
+
133
+ | Input | Type | Description |
134
+ |---|---|---|
135
+ | `[selected]` | `boolean` | Sets the initial selected state of the button. |
136
+ | `[disabled]` | `boolean` | Disables a specific button within the group. |
137
+
138
+ **Programmatic control:**
139
+
140
+ ```typescript
141
+ import { viewChild } from '@angular/core';
142
+ import { IgxButtonGroupComponent } from 'igniteui-angular/button-group';
143
+
144
+ buttonGroup = viewChild.required<IgxButtonGroupComponent>('myGroup');
145
+
146
+ selectSecond() { this.buttonGroup().selectButton(1); }
147
+ deselectSecond() { this.buttonGroup().deselectButton(1); }
148
+ getSelected() { return this.buttonGroup().selectedButtons; }
149
+ ```
150
+
151
+ ```html
152
+ <igx-buttongroup #myGroup selectionMode="multi">
153
+ <button igxButton>A</button>
154
+ <button igxButton>B</button>
155
+ <button igxButton>C</button>
156
+ </igx-buttongroup>
157
+ ```
158
+
36
159
  ## Ripple Effect
37
160
 
38
161
  > **Docs:** [Ripple Directive](https://www.infragistics.com/products/ignite-ui-angular/angular/components/ripple)
@@ -5,6 +5,14 @@
5
5
 
6
6
  > **AGENT INSTRUCTION:** All components in this file rely on Angular animations and the Ignite UI overlay system. Before using any of them, ensure `provideAnimations()` (or `provideAnimationsAsync()`) is present in `app.config.ts`. If it is missing, add it — these components will throw runtime errors or silently fail to animate without it.
7
7
 
8
+ ## Contents
9
+
10
+ - [Dialog](#dialog)
11
+ - [Snackbar](#snackbar)
12
+ - [Toast](#toast)
13
+ - [Banner](#banner)
14
+ - [Key Rules](#key-rules)
15
+
8
16
  ## Dialog
9
17
 
10
18
  > **Docs:** [Dialog Component](https://www.infragistics.com/products/ignite-ui-angular/angular/components/dialog)
@@ -3,6 +3,21 @@
3
3
  > **Part of the [`igniteui-angular-components`](../SKILL.md) skill hub.**
4
4
  > For app setup, providers, and import patterns — see [`setup.md`](./setup.md).
5
5
 
6
+ ## Contents
7
+
8
+ - [Input Group](#input-group)
9
+ - [Combo (Multi-Select Dropdown)](#combo-multi-select-dropdown)
10
+ - [Simple Combo (Single-Select)](#simple-combo-single-select)
11
+ - [Select](#select)
12
+ - [Date Picker](#date-picker)
13
+ - [Date Range Picker](#date-range-picker)
14
+ - [Time Picker](#time-picker)
15
+ - [Calendar](#calendar)
16
+ - [Checkbox, Radio, Switch](#checkbox-radio-switch)
17
+ - [Slider](#slider)
18
+ - [Reactive Forms Integration](#reactive-forms-integration)
19
+ - [Key Rules](#key-rules)
20
+
6
21
  ## Input Group
7
22
 
8
23
  > **Docs:** [Input Group](https://www.infragistics.com/products/ignite-ui-angular/angular/components/input-group)
@@ -3,6 +3,11 @@
3
3
  > **Part of the [`igniteui-angular-components`](../SKILL.md) skill hub.**
4
4
  > For app setup, providers, and import patterns — see [`setup.md`](./setup.md).
5
5
 
6
+ ## Contents
7
+
8
+ - [Layout Manager Directives](#layout-manager-directives)
9
+ - [Dock Manager](#dock-manager)
10
+
6
11
  ---
7
12
 
8
13
  ## Layout Manager Directives
@@ -3,6 +3,15 @@
3
3
  > **Part of the [`igniteui-angular-components`](../SKILL.md) skill hub.**
4
4
  > For app setup, providers, and import patterns — see [`setup.md`](./setup.md).
5
5
 
6
+ ## Contents
7
+
8
+ - [Tabs](#tabs)
9
+ - [Bottom Navigation](#bottom-navigation)
10
+ - [Stepper](#stepper)
11
+ - [Accordion](#accordion)
12
+ - [Splitter](#splitter)
13
+ - [Navigation Drawer](#navigation-drawer)
14
+
6
15
  ## Tabs
7
16
 
8
17
  > **Docs:** [Tabs Component](https://www.infragistics.com/products/ignite-ui-angular/angular/components/tabs)
@@ -2,6 +2,13 @@
2
2
 
3
3
  > **Part of the [`igniteui-angular-components`](../SKILL.md) skill hub.**
4
4
 
5
+ ## Contents
6
+
7
+ - [Installation](#installation)
8
+ - [Required Providers (`app.config.ts`)](#required-providers-appconfigts)
9
+ - [Architecture — Standalone Components](#architecture--standalone-components)
10
+ - [Multi-Entry-Point Imports](#multi-entry-point-imports)
11
+
5
12
  ## Installation
6
13
 
7
14
  ```bash
@@ -113,6 +120,7 @@ import { IgxComboComponent } from 'igniteui-angular';
113
120
  | Circular Progress | `igniteui-angular/progressbar` |
114
121
  | Chat | `igniteui-angular/chat` |
115
122
  | Button / Icon Button | `igniteui-angular/directives` |
123
+ | Button Group | `igniteui-angular/button-group` |
116
124
  | Ripple | `igniteui-angular/directives` |
117
125
  | IgxTooltipDirective, IgxTooltipTargetDirective | `igniteui-angular/directives` |
118
126
  | Drag & Drop | `igniteui-angular/directives` |
@@ -138,6 +146,7 @@ For complex components, use the bundled directive arrays instead of listing ever
138
146
 
139
147
  | Token | Entry Point | Includes |
140
148
  |---|---|---|
149
+ | `IGX_BUTTON_GROUP_DIRECTIVES` | `igniteui-angular/button-group` | Button group + button directive |
141
150
  | `IGX_INPUT_GROUP_DIRECTIVES` | `igniteui-angular/input-group` | Input group + label, hint, prefix, suffix |
142
151
  | `IGX_TABS_DIRECTIVES` | `igniteui-angular/tabs` | Tabs + tab item, header, content |
143
152
  | `IGX_STEPPER_DIRECTIVES` | `igniteui-angular/stepper` | Stepper + step |
@@ -151,7 +160,7 @@ For complex components, use the bundled directive arrays instead of listing ever
151
160
  - [`layout.md`](./layout.md) — Tabs, Stepper, Accordion, Splitter, Navigation Drawer
152
161
  - [`data-display.md`](./data-display.md) — List, Tree, Card, Chips, Avatar, Badge, Icon, Carousel, Paginator, Progress, Chat
153
162
  - [`feedback.md`](./feedback.md) — Dialog, Snackbar, Toast, Banner
154
- - [`directives.md`](./directives.md) — Button, Ripple, Tooltip, Drag and Drop
163
+ - [`directives.md`](./directives.md) — Button, Icon Button, Button Group, Ripple, Tooltip, Drag and Drop
155
164
  - [`layout-manager.md`](./layout-manager.md) — Layout Manager directives, Dock Manager
156
165
  - [`../../igniteui-angular-grids/SKILL.md`](../../igniteui-angular-grids/SKILL.md) — Data Grids
157
166
  - [`../../igniteui-angular-theming/SKILL.md`](../../igniteui-angular-theming/SKILL.md) — Theming & Styling
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: igniteui-angular-grids
3
- description: "All grid topics for Ignite UI Angular: grid setup, column configuration, sorting, filtering, selection, editing, grouping, summaries, toolbar, export, paging, remote data, state persistence, Tree Grid, Hierarchical Grid, Grid Lite, and Pivot Grid. Use for any grid-related question."
4
- user-invokable: true
3
+ description: "Provides guidance on all Ignite UI for Angular data grid types (Flat Grid, Tree Grid, Hierarchical Grid, Grid Lite, Pivot Grid) including setup, column configuration, sorting, filtering, selection, editing, grouping, summaries, toolbar, export, paging, remote data, and state persistence. Use when users ask about grids, tables, data grids, tabular data display, cell editing, batch editing, row selection, column pinning, column hiding, grouping rows, pivot tables, tree-structured data, hierarchical data, master-detail views, or exporting grid data. Do NOT use for non-grid UI components (forms, dialogs, navigation, charts) — use igniteui-angular-components instead. Do NOT use for theming or styling — use igniteui-angular-theming instead."
4
+ user-invocable: true
5
5
  ---
6
6
 
7
7
  # Ignite UI for Angular — Data Grids
@@ -21,8 +21,8 @@ Use the Grid Selection Decision Guide below. If the grid type is not explicitly
21
21
  **STEP 2 — Identify every task category involved.**
22
22
  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., remote paging AND editing requires reading both `paging-remote.md` AND `editing.md`).
23
23
 
24
- **STEP 3 — Read every identified reference file in full.**
25
- Call `read_file` (or equivalent) on each reference file identified in Step 2. You must do this even if you believe you already know the answer. Do not skip, skim, or partially read a reference file.
24
+ **STEP 3 — Read every identified reference file in full (PARALLEL).**
25
+ Call `read_file` (or equivalent) on **all** reference files identified in Step 2 **in a single parallel batch** — do NOT read them one at a time sequentially. You must do this even if you believe you already know the answer. Do not skip, skim, or partially read a reference file.
26
26
 
27
27
  **STEP 4 — Only then produce output.**
28
28
  Base your code and explanation exclusively on what you read in Step 3. If the reference files do not cover something, say so explicitly rather than guessing.
@@ -33,11 +33,11 @@ Base your code and explanation exclusively on what you read in Step 3. If the re
33
33
  |---|---|
34
34
  | Grid type selection, column config, column templates, column groups, MRL, pinning, sorting UI, filtering UI, selection | [`references/structure.md`](./references/structure.md) |
35
35
  | Grouping, summaries, cell merging, toolbar, export, row drag, action strip, master-detail, clipboard | [`references/features.md`](./references/features.md) |
36
- | Tree Grid specifics, Hierarchical Grid specifics, Grid Lite setup, Pivot Grid setup | [`references/types.md`](./references/types.md) |
36
+ | Tree Grid specifics, Hierarchical Grid specifics, Grid Lite setup, Grid Lite data operations, Pivot Grid setup | [`references/types.md`](./references/types.md) |
37
37
  | Programmatic sorting / filtering / grouping, canonical import patterns, `viewChild` access | [`references/data-operations.md`](./references/data-operations.md) |
38
38
  | Cell editing, row editing, batch editing, transactions, validation, summaries | [`references/editing.md`](./references/editing.md) |
39
39
  | Paging, remote data, server-side ops, noop strategies, virtual scroll, multi-grid coordination | [`references/paging-remote.md`](./references/paging-remote.md) |
40
- | State persistence, Tree Grid / Hierarchical Grid / Pivot Grid / Grid Lite data operations | [`references/state.md`](./references/state.md) |
40
+ | State persistence, Tree Grid / Hierarchical Grid / Pivot Grid data operations | [`references/state.md`](./references/state.md) |
41
41
 
42
42
  > **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.
43
43
 
@@ -6,6 +6,14 @@
6
6
  > For editing and validation — see [`editing.md`](./editing.md).
7
7
  > For state persistence — see [`state.md`](./state.md).
8
8
 
9
+ ## Contents
10
+
11
+ - [Accessing the Grid Instance](#accessing-the-grid-instance)
12
+ - [Sorting](#sorting)
13
+ - [Filtering](#filtering)
14
+ - [Grouping (Flat Grid Only)](#grouping-flat-grid-only)
15
+ - [Key Rules](#key-rules)
16
+
9
17
  ## Accessing the Grid Instance
10
18
 
11
19
  All programmatic data operations require a reference to the grid component. Use `viewChild` with the **correct component type** for your grid.
@@ -190,7 +198,7 @@ onSortingDone(event: ISortingEventArgs) {
190
198
  Implement `ISortingStrategy` to control how values are compared:
191
199
 
192
200
  ```typescript
193
- import { ISortingStrategy, SortingDirection } from 'igniteui-angular/grids/core';
201
+ import { ISortingStrategy, SortingDirection } from 'igniteui-angular/core';
194
202
 
195
203
  class PrioritySortStrategy implements ISortingStrategy {
196
204
  private priorityOrder = ['Critical', 'High', 'Medium', 'Low'];
@@ -249,7 +257,8 @@ import {
249
257
  IgxBooleanFilteringOperand,
250
258
  FilteringExpressionsTree,
251
259
  FilteringLogic
252
- } from 'igniteui-angular/grids/core';
260
+ } from 'igniteui-angular/core';
261
+ // import { ... } from '@infragistics/igniteui-angular/core'; for licensed package
253
262
 
254
263
  // Simple single-column filter
255
264
  this.gridRef().filter('name', 'John', IgxStringFilteringOperand.instance().condition('contains'), true);
@@ -309,7 +318,7 @@ Control the AND/OR logic between **different column** filters:
309
318
  ```
310
319
 
311
320
  ```typescript
312
- import { FilteringLogic } from 'igniteui-angular/grids/core';
321
+ import { FilteringLogic } from 'igniteui-angular';
313
322
 
314
323
  // FilteringLogic.And (default) — row must match ALL column filters
315
324
  // FilteringLogic.Or — row must match ANY column filter
@@ -369,7 +378,7 @@ onFilteringDone(event: IFilteringEventArgs) {
369
378
  ### Programmatic Grouping
370
379
 
371
380
  ```typescript
372
- import { SortingDirection } from 'igniteui-angular/grids/core';
381
+ import { SortingDirection } from 'igniteui-angular/core';
373
382
 
374
383
  // Group by a column
375
384
  this.gridRef().groupBy({ fieldName: 'category', dir: SortingDirection.Asc, ignoreCase: true });
@@ -5,6 +5,16 @@
5
5
  > For state persistence — see [`state.md`](./state.md).
6
6
  > For paging and remote data — see [`paging-remote.md`](./paging-remote.md).
7
7
 
8
+ ## Contents
9
+
10
+ - [Editing Data Through the Grid](#editing-data-through-the-grid)
11
+ - [Batch Editing & Transactions](#batch-editing--transactions)
12
+ - [Excel-Style Editing Workflows](#excel-style-editing-workflows)
13
+ - [Editing Events Reference](#editing-events-reference)
14
+ - [Validation](#validation)
15
+ - [Summaries](#summaries)
16
+ - [Key Rules](#key-rules)
17
+
8
18
  ## Editing Data Through the Grid
9
19
 
10
20
  > **AGENT INSTRUCTION:** When a user says they want to "edit data through the grid", "make the grid editable", or "allow CRUD in the grid", use this section to pick the right editing mode before writing any code.
@@ -423,7 +433,8 @@ Default summaries by type:
423
433
  ### Custom Summary Operand
424
434
 
425
435
  ```typescript
426
- import { IgxNumberSummaryOperand, IgxSummaryResult } from 'igniteui-angular/grids/core';
436
+ import { IgxNumberSummaryOperand } from 'igniteui-angular/grids/core';
437
+ import { IgxSummaryResult } from 'igniteui-angular/core';
427
438
 
428
439
  class RevenueSummary extends IgxNumberSummaryOperand {
429
440
  operate(data: number[]): IgxSummaryResult[] {
@@ -5,6 +5,21 @@
5
5
  > For Tree Grid, Hierarchical Grid, Grid Lite, Pivot Grid specifics — see [`types.md`](./types.md).
6
6
  > For full editing coverage (cell/row/batch) — see [`editing.md`](./editing.md).
7
7
 
8
+ ## Contents
9
+
10
+ - [Editing](#editing)
11
+ - [Grouping (Grid only)](#grouping-grid-only)
12
+ - [Summaries](#summaries)
13
+ - [Cell Merging](#cell-merging)
14
+ - [Toolbar](#toolbar)
15
+ - [Export](#export)
16
+ - [Virtualization & Performance](#virtualization--performance)
17
+ - [Row Drag](#row-drag)
18
+ - [Action Strip](#action-strip)
19
+ - [Master-Detail (Grid only)](#master-detail-grid-only)
20
+ - [Clipboard](#clipboard)
21
+ - [Key Rules](#key-rules)
22
+
8
23
  ## Editing
9
24
 
10
25
  > **Full editing coverage is in [`editing.md`](./editing.md)**, which includes cell editing, row editing, batch editing with transactions, row adding/deleting, validation, and summaries. Use that reference for any editing task.
@@ -43,15 +58,9 @@ For advanced programmatic grouping patterns — see [`data-operations.md`](./dat
43
58
 
44
59
  ## Summaries
45
60
 
46
- > **Full summaries coverage (built-in and custom summary operands) is in [`editing.md`](./editing.md).**
47
-
48
- Quick reference enable per-column summaries:
49
-
50
- ```html
51
- <igx-column field="salary" dataType="number" [hasSummary]="true"></igx-column>
52
- ```
53
-
54
- Default summaries by type: **number** → Count/Min/Max/Sum/Average; **date** → Count/Earliest/Latest; **string/boolean** → Count.
61
+ > **Full summaries coverage built-in summaries, custom summary operands, and summaries with grouping — is in [`editing.md`](./editing.md#summaries).**
62
+ >
63
+ > Quick reference: enable per-column summaries with `[hasSummary]="true"` on an `igx-column`. Default operands: **number** → Count/Min/Max/Sum/Average; **date** → Count/Earliest/Latest; **string/boolean** → Count.
55
64
 
56
65
  ## Cell Merging
57
66
 
@@ -68,7 +77,10 @@ Or apply a custom merge strategy:
68
77
  ```
69
78
 
70
79
  ```typescript
71
- priceRangeMerge: IgxCellMergeStrategy = {
80
+ import { IGridMergeStrategy } from 'igniteui-angular/core';
81
+ // import { IGridMergeStrategy } from '@infragistics/igniteui-angular/core'; for licensed package
82
+
83
+ priceRangeMerge: IGridMergeStrategy = {
72
84
  shouldMerge(prevCell, curCell) {
73
85
  return Math.abs(prevCell.value - curCell.value) < 10;
74
86
  }
@@ -79,6 +91,10 @@ priceRangeMerge: IgxCellMergeStrategy = {
79
91
 
80
92
  > **Docs:** [Toolbar](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/toolbar)
81
93
 
94
+ ```typescript
95
+ import { IgxGridToolbarComponent } from 'igniteui-angular/grids/core';
96
+ ```
97
+
82
98
  ```html
83
99
  <igx-grid [data]="data()">
84
100
  <igx-grid-toolbar>
@@ -5,6 +5,14 @@
5
5
  > For editing and validation — see [`editing.md`](./editing.md).
6
6
  > For state persistence — see [`state.md`](./state.md).
7
7
 
8
+ ## Contents
9
+
10
+ - [Paging](#paging)
11
+ - [Remote Data Operations](#remote-data-operations)
12
+ - [Virtualization](#virtualization)
13
+ - [Multi-Grid Coordination](#multi-grid-coordination)
14
+ - [Key Rules](#key-rules)
15
+
8
16
  ## Paging
9
17
 
10
18
  > **Docs:** [Paging — Remote Paging](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/paging#remote-paging) (substitute URL prefix per grid type)
@@ -51,7 +59,8 @@ this.gridRef().paginator.perPage = 25;
51
59
  ### Remote Paging
52
60
 
53
61
  ```typescript
54
- import { GridPagingMode } from 'igniteui-angular/grids/grid';
62
+ import { GridPagingMode } from 'igniteui-angular/grids/core';
63
+ import { IPageEventArgs } from 'igniteui-angular/paginator';
55
64
 
56
65
  export class RemotePagingComponent {
57
66
  data = signal<Product[]>([]);
@@ -120,12 +129,12 @@ import { Component, ChangeDetectionStrategy, signal, viewChild, inject, DestroyR
120
129
  import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
121
130
  import { IgxGridComponent, IGX_GRID_DIRECTIVES } from 'igniteui-angular/grids/grid';
122
131
  import {
123
- IForOfState,
124
- ISortingEventArgs,
125
132
  IFilteringExpressionsTree,
126
133
  NoopSortingStrategy,
127
134
  NoopFilteringStrategy
128
- } from 'igniteui-angular/grids/core';
135
+ } from 'igniteui-angular/core';
136
+ import { IForOfState } from 'igniteui-angular/directives';
137
+ import { ISortingEventArgs } from 'igniteui-angular/grids/core';
129
138
  import { debounceTime, Subject } from 'rxjs';
130
139
 
131
140
  @Component({