Skip to content

Commit 55df415

Browse files
MKirovaMKirova
authored andcommitted
Merge branch 'master' into mkirova/feat-15235
2 parents cbad25d + 0d579f7 commit 55df415

File tree

774 files changed

+36467
-16504
lines changed

Some content is hidden

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

774 files changed

+36467
-16504
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
name: Bug report
33
about: Create a report to help us improve
44
title: ''
5+
type: Bug
56
labels: ':bug: bug,:new: status: new'
67
assignees: ''
78
projects: 'IgniteUI/16'

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ name: "CodeQL"
1313

1414
on:
1515
push:
16-
branches: [ master, 19.2.x, 18.2.x, 17.2.x, 16.1.x, 15.1.x ]
16+
branches: [ master, '[0-9]+.[0-9]+.x' ]
1717
pull_request:
1818
# The branches below must be a subset of the branches above
19-
branches: [ master, 19.2.x, 18.2.x, 17.2.x, 16.1.x, 15.1.x ]
19+
branches: [ master, '[0-9]+.[0-9]+.x' ]
2020
schedule:
2121
- cron: '33 4 * * 4'
2222

.github/workflows/nodejs.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
strategy:
1818
matrix:
19-
node-version: [20.x, 22.x]
19+
node-version: [20.x, 22.17.1]
2020

2121
steps:
2222
- name: Checkout
@@ -42,8 +42,7 @@ jobs:
4242
run: npm run build:migrations
4343
- name: Build TypeDoc & SassDoc
4444
run: |
45-
npm run build:typedoc:en:production
46-
npm run build:sassdoc:en:production
45+
npm run build:docs
4746
- name: Test
4847
run: |
4948
npm run test:lib

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,8 @@ src/**/*.js
4848
src/**/*.js.map
4949
src/**/*.css.map
5050

51-
# Typedoc Theme
51+
# Typedoc and SassDoc Themes
52+
extras/sassdoc/**/*
5253
extras/docs/themes/typedoc/bin
5354
extras/docs/themes/sassdoc/node_modules
5455
extras/docs/themes/sassdoc/sassdoc/*

CHANGELOG.md

Lines changed: 148 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,144 @@
22

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

5+
6+
## 20.1.0
7+
8+
### New Features
9+
10+
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
11+
- Introduced a new cell merging feature that allows you to configure and merge cells in a column based on same data or other custom condition, into a single cell.
12+
13+
It can be enabled on the individual columns:
14+
15+
```html
16+
<igx-column field="field" [merge]="true"></igx-column>
17+
```
18+
The merging can be configured on the grid level to apply either:
19+
- `onSort` - only when the column is sorted.
20+
- `always` - always, regardless of data operations.
21+
22+
```html
23+
<igx-grid [cellMergeMode]="'always'">
24+
</igx-grid>
25+
```
26+
27+
The default `cellMergeMode` is `onSort`.
28+
29+
The functionality can be modified by setting a custom `mergeStrategy` on the grid, in case some other merge conditions or logic is needed for a custom scenario.
30+
31+
It's possible also to set a `mergeComparer` on the individual columns, in case some custom handling is needed for a particular data field.
32+
33+
- Added ability to pin individual columns to a specific side (start or end of the grid), so that you can now have pinning from both sides. This can be done either declaratively by setting the `pinningPosition` property on the column:
34+
35+
```html
36+
<igx-column [field]="'Col1'" [pinned]='true' [pinningPosition]='pinningPosition'>
37+
</igx-column>
38+
```
39+
40+
```ts
41+
public pinningPosition = ColumnPinningPosition.End;
42+
```
43+
44+
Or with the API, via optional parameter:
45+
46+
```ts
47+
grid.pinColumn('Col1', 0, ColumnPinningPosition.End);
48+
grid.pinColumn('Col2', 0, ColumnPinningPosition.Start);
49+
```
50+
51+
If property `pinningPosition` is not set on a column, the column will default to the position specified on the grid's `pinning` options for `columns`.
52+
53+
- `IgxCarousel`
54+
- Added `select` method overload accepting index.
55+
```ts
56+
this.carousel.select(2, Direction.NEXT);
57+
```
58+
59+
- `IgxDateRangePicker`
60+
- Now has a complete set of properties to customize the calendar:
61+
- `headerOrientation`
62+
- `orientation`
63+
- `hideHeader`
64+
- `activeDate`
65+
- `disabledDates`
66+
- `specialDates`
67+
68+
- As well as the following templates, available to customize the contents of the calendar header in `dialog` mode:
69+
- `igxCalendarHeader`
70+
- `igxCalendarHeaderTitle`
71+
- `igxCalendarSubheader`
72+
73+
- Added new properties:
74+
- `usePredefinedRanges` - Whether to render built-in predefined ranges
75+
- `customRanges` - Allows the user to provide custom ranges rendered as chips
76+
- `resourceStrings` - Allows the user to provide set of resource strings
77+
78+
- **Behavioral Changes**
79+
- Added cancel button to the dialog, allowing the user to cancel the selection.
80+
- The calendar is displayed with header in `dialog` mode by default.
81+
- The picker remains open when typing (in two-inputs and `dropdown` mode).
82+
- The calendar selection is updated with the typed value.
83+
- The calendar view is updated as per the typed value.
84+
- The picker displays a clear icon by default in single input mode.
85+
86+
- `IgxPredefinedRangesAreaComponent`
87+
- Added new component for rendering the predefined or custom ranges inside the calendar of the `IgxDateRangePicker`
88+
89+
- `IgxDatePicker`
90+
- Similar to the `IgxDateRangePicker`, also completes the ability to customize the calendar by introducing the following
91+
properties in addition to the existing ones:
92+
- `hideHeader`
93+
- `orientation`
94+
- `activeDate`
95+
- **Behavioral Changes**
96+
- The calendar selection is updated with the typed value.
97+
- The calendar view is updated as per the typed date value.
98+
99+
- `IgxOverlay`
100+
- Position Settings now accept a new optional `offset` input property of type `number`. Used to set the offset of the element from the target in pixels.
101+
102+
- `IgxTooltip`
103+
- The tooltip now remains open while interacting with it.
104+
105+
- `IgxTooltipTarget`
106+
- Introduced several new properties to enhance customization of tooltip content and behavior. Those include `positionSettings`, `hasArrow`, `sticky`, `closeButtonTemplate`. For detailed usage and examples, please refer to the Tooltip [README](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/directives/tooltip/README.md).
107+
108+
### General
109+
- `IgxDropDown` now exposes a `role` input property, allowing users to customize the role attribute based on the use case. The default is `listbox`.
110+
111+
- `IgxTooltipTarget`
112+
- **Behavioral Changes**
113+
- The `showDelay` input property now defaults to `200`.
114+
- The `hideDelay` input property now defaults to `300`.
115+
- The `showTooltip` and `hideTooltip` methods do not take `showDelay`/`hideDelay` into account.
116+
117+
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`, `IgxPivotGrid`
118+
- **Sorting improvements**
119+
- Improved sorting algorithm efficiency using Schwartzian transformation. This is a technique, also known as decorate-sort-undecorate, which avoids recomputing the sort keys by temporarily associating them with the original data records.
120+
- Refactored sorting algorithms from recursive to iterative.
121+
- **Groupby improvements**
122+
- Refactored grouping algorithm from recursive to iterative.
123+
- Optimized grouping operations.
124+
125+
## 20.0.6
126+
### General
127+
- `IgxSimpleCombo`
128+
- Added `disableFiltering` to the `IgxSimpleCombo`, which enables/disables the filtering in the list. The default is `false`.
129+
- `IgxCombo`, `IgxSimpleCombo`
130+
- Removed deprecated `filteringOptions.filterable` option.
131+
132+
## 20.0.2
133+
134+
### New Features
135+
- **Separating Button and Icon Button Themes** - The `button-theme` and `icon-button-theme` functions are still available, but for more targeted customization, you can now use the specific theme function for each button type.
136+
- **Component Themes Enchancements** - Component themes have been improved to automatically calculate all necessary states (e.g., hover, focus, active) based on just a few key values. For example, customizing a contained button requires only a background color:
137+
```scss
138+
$custom-contained-button: contained-button-theme(
139+
$background: #09f;
140+
);
141+
```
142+
5143
## 20.0.0
6144

7145
### General
@@ -31,7 +169,6 @@ All notable changes for each version of this project will be documented in this
31169
```
32170

33171
## 19.2.0
34-
35172
### General
36173
- `IgxCarousel`
37174
- Removed deprecated property `keyboardSupport`.
@@ -76,24 +213,24 @@ All notable changes for each version of this project will be documented in this
76213
- Added the `canCommit`, `commit` and `discard` public methods that allows the user to save/discard the current state of the expression tree.
77214
- Added option to template the search value input:
78215
```
79-
<ng-template igxQueryBuilderSearchValue
216+
<ng-template igxQueryBuilderSearchValue
80217
let-searchValue
81-
let-selectedField = "selectedField"
218+
let-selectedField = "selectedField"
82219
let-selectedCondition = "selectedCondition"
83220
let-defaultSearchValueTemplate = "defaultSearchValueTemplate">
84221
@if (selectedField?.field === 'Id' && selectedCondition === 'equals'){
85222
<input type="text" required [(ngModel)]="searchValue.value"/>
86-
} @else {
223+
} @else {
87224
<ng-container #defaultTemplate *ngTemplateOutlet="defaultSearchValueTemplate"></ ng-container>
88225
}
89-
</ng-template>
226+
</ng-template>
90227
```
91-
- **Behavioral Changes**
228+
- **Behavioral Changes**
92229
- Expression enters edit mode on single click, `Enter` or `Space`.
93230
- Selecting conditions inside the `IgxQueryBuilderComponent` is no longer supported. Grouping/ungrouping expressions is now achieved via the newly exposed Drag & Drop functionality.
94231
- Deleting multiple expressions through the context menu is no longer supported.
95232
- `IgxQueryBuilderHeaderComponent`
96-
- **Behavioral Change**
233+
- **Behavioral Change**
97234
- Legend is no longer shown.
98235
- If the `title` input property is not set, by default it would be empty string.
99236
- **Deprecation**
@@ -175,9 +312,9 @@ All notable changes for each version of this project will be documented in this
175312

176313
### Themes
177314
- **Breaking Change** `Palettes`
178-
- All palette colors have been migrated to the [CSS relative colors syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_colors/Relative_colors). This means that color consumed as CSS variables no longer need to be wrapped in an `hsl` function.
315+
- All palette colors have been migrated to the [CSS relative colors syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_colors/Relative_colors). This means that color consumed as CSS variables no longer need to be wrapped in an `hsl` function.
179316

180-
Example:
317+
Example:
181318
```css
182319
/* 18.1.x and before: */
183320
background: hsl(var(--ig-primary-600));
@@ -188,7 +325,7 @@ All notable changes for each version of this project will be documented in this
188325

189326
This change also opens up the door for declaring the base (500) variants of each color in CSS from any color, including other CSS variables, whereas before the Sass `palette` function was needed to generate color shades from a base color.
190327

191-
Example:
328+
Example:
192329
```scss
193330
/* 18.1.x and before: */
194331
$my-palette: palette($primary: #09f, ...);
@@ -228,7 +365,7 @@ For Firefox users, we provide limited scrollbar styling options through the foll
228365
- `animationType` input property is now of type `CarouselAnimationType`. `HorizontalAnimationType` can also be used, however, to accommodate the new vertical mode, which supports vertical slide animations, it is recommended to use `CarouselAnimationType`.
229366

230367
- **Behavioral Changes** - the `keyboardSupport` input property now defaults to `false`.
231-
- **Deprecation** - the `keyboardSupport` input property has been deprecated and will be removed in a future version. Keyboard navigation with `ArrowLeft`, `ArrowRight`, `Home`, and `End` keys will be supported when focusing the indicators' container via ` Tab`/`Shift+Tab`.
368+
- **Deprecation** - the `keyboardSupport` input property has been deprecated and will be removed in a future version. Keyboard navigation with `ArrowLeft`, `ArrowRight`, `Home`, and `End` keys will be supported when focusing the indicators' container via ` Tab`/`Shift+Tab`.
232369

233370
- `IgxCombo`:
234371
- **Breaking Change** The deprecated `filterable` property is replaced with `disableFiltering`.

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@ and refer to the purchasing options in the pricing section on the product page.
1111
This repository includes code originally copied from https://github.com/zloirock/core-js
1212
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.
1313

14-
© Copyright 2020 INFRAGISTICS. All Rights Reserved.
14+
© Copyright 2025 INFRAGISTICS. All Rights Reserved.
1515
The Infragistics Ultimate license & copyright applies to this distribution.
1616
For information on that license, please go to our website https://www.infragistics.com/legal/license.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ In order for us to verify your eligibility for free usage, please [register for
337337

338338
To acquire a license for commercial usage, please [register for trial](https://Infragistics.com/Angular) and refer to the purchasing options in the pricing section on the product page.
339339

340-
© Copyright 2020 INFRAGISTICS. All Rights Reserved.
340+
© Copyright 2025 INFRAGISTICS. All Rights Reserved.
341341
The Infragistics Ultimate license & copyright applies to this distribution.
342342
For information on that license, please go to our website [https://www.infragistics.com/legal/license](https://www.infragistics.com/legal/license).
343343

ROADMAP.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,24 @@
22

33
# Current Milestone
44

5-
## Milestone 38, version 20.0 (Due by Jun, 2025)
6-
1. Support of Angular 20.0
5+
## Milestone 38, version 20.1 (Due by Sep, 2025)
6+
1. Grid cell merging feature [#3514](https://github.com/IgniteUI/igniteui-angular/issues/3514)
7+
2. “Clear Selection” button in Combo component is keyboard accessible [#15841](https://github.com/IgniteUI/igniteui-angular/issues/15841)
8+
3. Selecting a slide by index in the Carousel component [#16046](https://github.com/IgniteUI/igniteui-angular/issues/16046)
79

810
## Going down the road
911

10-
1. Provide an option to modify the default enter edit mode conditions, to e.g. allow edit mode start on a single click [#14658](https://github.com/IgniteUI/igniteui-angular/issues/14658)
11-
2. Provide an excel-like navigation mode for editing where all arrow keys navigate the cell in edit mode. [#14659](https://github.com/IgniteUI/igniteui-angular/issues/14659)
12-
3. Extend the 18.2 editorOptions property to allow modifying numeric editors to not change the value on up/down arrow press [#14660](https://github.com/IgniteUI/igniteui-angular/issues/14660)
12+
1. AI Chat UI component [#16094](https://github.com/IgniteUI/igniteui-angular/issues/16094)
1313

1414
# Previous Milestone
1515

16+
## Milestone 38, version 20.0 (Released Jun 09th, 2025)
17+
1. **[DONE]** Support of Angular 20.0
18+
1619
## Milestone 37, version 19.2 (Released Apr 16th, 2025), [Release Blog 19.2](https://www.infragistics.com/blogs/ignite-ui-for-angular-19-2/)
1720

18-
1. Tile Manager - layout component [#239](https://github.com/IgniteUI/igniteui-angular/issues/239)
19-
2. SSR Grid Improvements - [15202](https://github.com/IgniteUI/igniteui-angular/issues/15202)
21+
1. **[DONE]** Tile Manager - layout component [#239](https://github.com/IgniteUI/igniteui-angular/issues/239)
22+
2. **[DONE]** SSR Grid Improvements - [15202](https://github.com/IgniteUI/igniteui-angular/issues/15202)
2023

2124
## Milestone 36, version 19.1 (Released Feb 27th, 2025), [Release Blog 19.1](https://www.infragistics.com/blogs/ignite-ui-for-angular-19-1/)
2225

@@ -26,8 +29,8 @@
2629

2730
## Milestone 35, version 19.0 (Released Nov 25th, 2024)
2831

29-
1. Angular 19 support
30-
2. Simplify hiding Grid summary results through API [#14905](https://github.com/IgniteUI/igniteui-angular/issues/14905)
32+
1. **[DONE]** Angular 19 support
33+
2. **[DONE]** Simplify hiding Grid summary results through API [#14905](https://github.com/IgniteUI/igniteui-angular/issues/14905)
3134

3235
## Milestone 34, version 18.2 (Released Oct 25th, 2024)
3336

0 commit comments

Comments
 (0)