Skip to content

Commit a25faba

Browse files
committed
Merge branch 'master' of https://github.com/IgniteUI/igniteui-angular into mkirkova/combo-navigation-16223
2 parents 51f4a46 + 3727737 commit a25faba

File tree

1,701 files changed

+32302
-20601
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,701 files changed

+32302
-20601
lines changed

CHANGELOG.md

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,109 @@
22

33
All notable changes for each version of this project will be documented in this file.
44

5+
## 21.0.0
6+
7+
### New Features
8+
9+
- **New component** `IgxChat`:
10+
- A component that provides complete solution for building conversational interfaces in your applications. Read up more information in the [ReadMe](https://github.com/IgniteUI/igniteui-angular/tree/master/projects/igniteui-angular/chat/README.md)
11+
12+
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
13+
- Added PDF export functionality to grid components. Grids can now be exported to PDF format alongside the existing Excel and CSV export options.
14+
15+
The new `IgxPdfExporterService` follows the same pattern as Excel and CSV exporters:
16+
17+
```ts
18+
import { IgxPdfExporterService, IgxPdfExporterOptions } from 'igniteui-angular';
19+
20+
constructor(private pdfExporter: IgxPdfExporterService) {}
21+
22+
exportToPdf() {
23+
const options = new IgxPdfExporterOptions('MyGridExport');
24+
options.pageOrientation = 'landscape'; // 'portrait' or 'landscape' (default: 'landscape')
25+
options.pageSize = 'a4'; // 'a3', 'a4', 'a5', 'letter', 'legal', etc.
26+
options.fontSize = 10;
27+
options.showTableBorders = true;
28+
29+
this.pdfExporter.export(this.grid, options);
30+
}
31+
```
32+
33+
The grid toolbar exporter component now includes a PDF export button:
34+
35+
```html
36+
<igx-grid-toolbar>
37+
<igx-grid-toolbar-exporter
38+
[exportPDF]="true"
39+
[exportExcel]="true"
40+
[exportCSV]="true">
41+
</igx-grid-toolbar-exporter>
42+
</igx-grid-toolbar>
43+
```
44+
45+
Key features:
46+
- **Multi-page support** with automatic page breaks
47+
- **Hierarchical visualization** for TreeGrid (with indentation) and HierarchicalGrid (with child tables)
48+
- **Multi-level column headers** (column groups) support
49+
- **Summary rows** with proper value formatting
50+
- **Text truncation** with ellipsis for long content
51+
- **Landscape orientation** by default (suitable for wide grids)
52+
- **Internationalization** support for all 19 supported languages
53+
- Respects all grid export options (ignoreFiltering, ignoreSorting, ignoreColumnsVisibility, etc.)
54+
55+
### Breaking Changes
56+
57+
- `IgxButton`
58+
- The following shadow-related parameters were removed from the `outlined-button-theme` and `flat-button-theme`:
59+
- `resting-shadow`
60+
- `hover-shadow`
61+
- `focus-shadow`
62+
- `active-shadow`
63+
64+
#### Dependency Injection Refactor
65+
- All internal DI now uses the `inject()` API across `igniteui-angular` (no more constructor DI in library code).
66+
- If you extend our components/services or call their constructors directly, remove DI params and switch to `inject()` (e.g., `protected foo = inject(FooService);`).
67+
- App usage via templates remains the same; no action needed unless you subclass/override our types.
68+
69+
#### Multiple Entry Points Support
70+
71+
The library now supports multiple entry points for better tree-shaking and code splitting. While the main entry point (`igniteui-angular`) remains fully backwards compatible by re-exporting all granular entry points, we recommend migrating to the new entry points for optimal bundle sizes.
72+
73+
**Entry Points:**
74+
- `igniteui-angular/core` - Core utilities, services, and base types
75+
- `igniteui-angular/directives` - Common directives
76+
- Component-specific entry points: `igniteui-angular/grids`, `igniteui-angular/input-group`, `igniteui-angular/drop-down`, etc.
77+
- Grid-specific entry points for tree-shakable imports:
78+
- `igniteui-angular/grids/core` - Shared grid infrastructure (columns, toolbar, filtering, sorting, etc.)
79+
- `igniteui-angular/grids/grid` - Standard grid component (`IgxGridComponent`)
80+
- `igniteui-angular/grids/tree-grid` - Tree grid component (`IgxTreeGridComponent`)
81+
- `igniteui-angular/grids/hierarchical-grid` - Hierarchical grid component (`IgxHierarchicalGridComponent`, `IgxRowIslandComponent`)
82+
- `igniteui-angular/grids/pivot-grid` - Pivot grid component (`IgxPivotGridComponent`, `IgxPivotDataSelectorComponent`)
83+
84+
**Migration:**
85+
The `ng update` migration will prompt you to optionally migrate your imports to the new entry points. If you choose not to migrate, you can continue using the main entry point with full backwards compatibility.
86+
87+
To migrate manually later:
88+
```bash
89+
ng update igniteui-angular --migrate-only --from=20.1.0 --to=21.0.0
90+
```
91+
92+
**Component Relocations:**
93+
- Input directives (`IgxHintDirective`, `IgxInputDirective`, `IgxLabelDirective`, `IgxPrefixDirective`, `IgxSuffixDirective`) → `igniteui-angular/input-group`
94+
- `IgxAutocompleteDirective``igniteui-angular/drop-down`
95+
- `IgxRadioGroupDirective``igniteui-angular/radio`
96+
97+
**Type Renames (to avoid conflicts):**
98+
- `Direction``CarouselAnimationDirection` (in carousel)
99+
100+
**Benefits:**
101+
- Better tree-shaking - unused components won't be bundled
102+
- Code splitting - each component can be lazy-loaded separately
103+
- Smaller bundle sizes - import only what you need
104+
- Improved build performance
105+
106+
See the [Angular Package Format documentation](https://angular.io/guide/angular-package-format#entrypoints-and-code-splitting) for more details on entry points.
107+
5108

6109
## 20.1.0
7110

LICENSE

Lines changed: 124 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,134 @@
1+
=================================================================
2+
3+
Dual License for Ignite UI for Angular
4+
5+
=================================================================
6+
7+
This software package is offered under a dual-license model, which allows for both commercial and permissive open-source use, depending on the components, modules, directives, and services being used.
8+
9+
It is crucial to understand which license applies to which part of the package.
10+
11+
-----------------------------------------------------------------
12+
13+
MIT License
14+
15+
-----------------------------------------------------------------
16+
17+
The MIT License applies exclusively to the components (encompassing all related modules and directives), directives, and services listed below and their associated source code. **All other parts of this package remain under the Infragistics Commercial License.**
18+
19+
**Covered Components, Directives and Services with MIT License:**
20+
21+
- `igx-accordion`
22+
- `igxAutocomplete`
23+
- `igx-avatar`
24+
- `igx-badge`
25+
- `igx-banner`
26+
- `igx-bottom-nav`
27+
- `igx-button`
28+
- `igx-card`
29+
- `igx-carousel`
30+
- `igx-chat`
31+
- `igx-checkbox`
32+
- `igx-chip`
33+
- `igx-circular-bar`
34+
- `igx-combo`
35+
- `igx-date-picker`
36+
- `igx-date-range-picker`
37+
- `igx-dialog`
38+
- `igx-divider`
39+
- `igx-drop-down`
40+
- `igx-expansion-panel`
41+
- `igx-icon`
42+
- `igx-input-group`
43+
- `igx-linear-bar`
44+
- `igx-list`
45+
- `igx-navbar`
46+
- `igx-nav-drawer`
47+
- `igx-paginator`
48+
- `igx-radio`
49+
- `igx-radio-group`
50+
- `igx-rating`
51+
- `igx-select`
52+
- `igx-simple-combo`
53+
- `igx-slider`
54+
- `igx-snackbar`
55+
- `igx-splitter-pane`
56+
- `igx-switch`
57+
- `igx-tabs`
58+
- `igx-toast`
59+
- `igx-tooltip`
60+
- `igx-tree`
61+
- `igx-time-picker`
62+
- `igx-stepper`
63+
- `igx-month-picker`
64+
- `igx-action-strip`
65+
- `igx-buttongroup`
66+
- `igx-calendar`
67+
- `igx-chip-area`
68+
- `igxDateTimeEditor`
69+
- `igxDrag`
70+
- `igxDrop`
71+
- `igxFor`
72+
- `igxIconButton`
73+
- `igxInput`
74+
- `igxLabel`
75+
- `igxLayout`
76+
- `igxMask`
77+
- `igxRipple`
78+
- `IgxOverlayService`
79+
- `IgxTextHighlightDirective`
80+
- `IgxTextHighlightService`
81+
- `igxToggle`
82+
83+
The MIT License applies exclusively to the components (encompassing all related modules and directives), directives, and services listed above and their associated source code.
84+
All other parts of this package remain under the Infragistics Commercial License.
85+
86+
The MIT License (MIT)
87+
88+
Copyright (c) 2025 Infragistics
89+
90+
Permission is hereby granted, free of charge, to any person obtaining a copy
91+
of this software and associated documentation files (the "Software"), to deal
92+
in the Software without restriction, including without limitation the rights
93+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
94+
copies of the Software, and to permit persons to whom the Software is
95+
furnished to do so, subject to the following conditions:
96+
97+
The above copyright notice and this permission notice shall be included in all
98+
copies or substantial portions of the Software.
99+
100+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
101+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
102+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
103+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
104+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
105+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
106+
SOFTWARE.
107+
108+
-----------------------------------------------------------------
109+
110+
Infragistics Commercial License
111+
112+
-----------------------------------------------------------------
113+
114+
All components (encompassing all related modules and directives), modules, directives, services, and code within this package, **except those listed under the MIT License section above**, are licensed under the Infragistics Commercial License (EULA).
115+
1116
This is a commercial product, requiring a valid paid-for license for commercial use.
2117
This product is free to use for non-commercial educational use for students in K through 12 grades
3-
or University programs, and for educators to use in a classroom setting as examples / tools in their curriculum.
118+
or University programs, and for educators to use in a classroom setting as examples/tools in their curriculum.
4119

5-
In order for us to verify your eligibility for free usage, please register for trial at
6-
https://Infragistics.com/Angular and open a support ticket with a request for free license.
120+
To verify eligibility for free usage, please register for trial at:
121+
https://www.infragistics.com/angular and open a support ticket with a request for free license.
7122

8-
To acquire a license for commercial usage, please register for trial at https://Infragistics.com/Angular
9-
and refer to the purchasing options in the pricing section on the product page.
123+
To acquire a license for commercial usage, please register for trial at:
124+
https://www.infragistics.com/angular and refer to the purchasing options in the pricing section on the product page.
10125

11126
This repository includes code originally copied from https://github.com/zloirock/core-js
12127
in the projects/igniteui-angular/src/lib/core/setImmediate.ts file. The original version of the code is MIT licensed. See the file header for details.
13128

14129
© Copyright 2025 INFRAGISTICS. All Rights Reserved.
15130
The Infragistics Ultimate license & copyright applies to this distribution.
16-
For information on that license, please go to our website https://www.infragistics.com/legal/license.
131+
For information on that license, please go to:
132+
https://www.infragistics.com/legal/license
133+
134+
For details, see https://opensource.org/licenses/MIT

0 commit comments

Comments
 (0)