Skip to content

Commit 3d8f624

Browse files
authored
Merge branch 'master' into copilot/add-option-to-hide-clear-button
2 parents 1c0fefc + d28544a commit 3d8f624

58 files changed

Lines changed: 6467 additions & 36 deletions

File tree

Some content is hidden

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

.github/workflows/nodejs.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,12 @@ jobs:
3636
NODE_OPTIONS: --max_old_space_size=4096
3737
- name: Lint i18n
3838
run: npm run lint:i18n
39+
- name: Lint Extras
40+
run: npm run lint:extras
3941
- name: Build Lib
4042
run: npm run build:lib
43+
- name: Build Extras
44+
run: npm run build:extras
4145
- name: Build Schematics
4246
run: npm run build:schematics
4347
- name: Build Migrations
@@ -51,6 +55,7 @@ jobs:
5155
npm run test:styles
5256
npm run test:schematics
5357
npm run test:i18n
58+
npm run test:extras
5459
env:
5560
NODE_OPTIONS: --max_old_space_size=4096 --no-experimental-strip-types
5661
TZ: America/New_York

.github/workflows/npm-publish.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ jobs:
3636
- name: Build igniteui-angular-i18n
3737
run: npm run build:i18n
3838

39+
- name: Build igniteui-angular-extras
40+
run: npm run build:extras
41+
3942
- name: Define npm tag
4043
run: |
4144
if [[ ${VERSION} == *"alpha"* || ${VERSION} == *"beta"* || ${VERSION} == *"rc"* ]]; then echo "NPM_TAG=next"; else echo "NPM_TAG=latest"; fi >> $GITHUB_ENV
@@ -55,6 +58,12 @@ jobs:
5558
cp ../../projects/igniteui-angular-i18n/LICENSE LICENSE
5659
working-directory: dist/igniteui-angular-i18n
5760

61+
- name: Copy extras files
62+
run: |
63+
cp ../../projects/igniteui-angular-extras/README.md README.md
64+
cp ../../projects/igniteui-angular-extras/LICENSE LICENSE
65+
working-directory: dist/igniteui-angular-extras
66+
5867
- name: Create igniteui-angular version
5968
run: npm version ${VERSION} --no-git-tag-version --save --verbose
6069
working-directory: dist/igniteui-angular
@@ -63,10 +72,18 @@ jobs:
6372
run: npm version ${VERSION} --no-git-tag-version --save
6473
working-directory: dist/igniteui-angular-i18n
6574

75+
- name: Create igniteui-angular-extras version
76+
run: npm version ${VERSION} --no-git-tag-version --save
77+
working-directory: dist/igniteui-angular-extras
78+
6679
- name: Publish igniteui-angular
6780
run: npm publish --tag ${NPM_TAG}
6881
working-directory: dist/igniteui-angular
6982

7083
- name: Publish igniteui-angular-i18n
7184
run: npm publish --tag ${NPM_TAG}
7285
working-directory: dist/igniteui-angular-i18n
86+
87+
- name: Publish igniteui-angular-extras
88+
run: npm publish --tag ${NPM_TAG}
89+
working-directory: dist/igniteui-angular-extras

.github/workflows/trigger-licensed-release.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828
owner: IgniteUI
2929

3030
- name: Send repository dispatch to private repo
31-
uses: peter-evans/repository-dispatch@v3
31+
uses: peter-evans/repository-dispatch@28959ce8df70de7be546dd1250a005dd32156697 # equivalent to release v4.0.1
3232
with:
3333
token: ${{ steps.app-token.outputs.token }}
3434
repository: IgniteUI/igniteui-actions
@@ -38,3 +38,15 @@ jobs:
3838
"release_tag": "${{ github.event_name == 'workflow_dispatch' && inputs.release_tag || github.event.release.tag_name }}",
3939
"public_repo": "${{ github.repository }}"
4040
}
41+
42+
- name: Send repository dispatch to private repo for extras
43+
uses: peter-evans/repository-dispatch@v3
44+
with:
45+
token: ${{ steps.app-token.outputs.token }}
46+
repository: IgniteUI/igniteui-actions
47+
event-type: igniteui-angular-extras-public-release-created
48+
client-payload: |
49+
{
50+
"release_tag": "${{ github.event_name == 'workflow_dispatch' && inputs.release_tag || github.event.release.tag_name }}",
51+
"public_repo": "${{ github.repository }}"
52+
}

angular.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,9 @@
208208
"exclude": [
209209
"migrations",
210210
"schematics"
211+
],
212+
"codeCoverageExclude": [
213+
"projects/igniteui-angular/test-utils/**"
211214
]
212215
}
213216
},
@@ -256,6 +259,57 @@
256259
}
257260
}
258261
},
262+
"igniteui-angular-extras": {
263+
"root": "projects/igniteui-angular-extras",
264+
"sourceRoot": "projects/igniteui-angular-extras/src",
265+
"projectType": "library",
266+
"prefix": "igx",
267+
"architect": {
268+
"build": {
269+
"builder": "@angular/build:ng-packagr",
270+
"options": {
271+
"tsConfig": "projects/igniteui-angular-extras/tsconfig.lib.json",
272+
"project": "projects/igniteui-angular-extras/ng-package.json"
273+
},
274+
"configurations": {
275+
"production": {
276+
"tsConfig": "projects/igniteui-angular-extras/tsconfig.lib.prod.json"
277+
}
278+
}
279+
},
280+
"test": {
281+
"builder": "@angular/build:karma",
282+
"options": {
283+
"polyfills": [
284+
"zone.js",
285+
"zone.js/testing",
286+
"hammerjs"
287+
],
288+
"styles": [
289+
"src/styles/styles.scss"
290+
],
291+
"stylePreprocessorOptions": {
292+
"includePaths": [
293+
"node_modules",
294+
"node_modules/@infragistics"
295+
]
296+
},
297+
"tsConfig": "projects/igniteui-angular-extras/tsconfig.spec.json",
298+
"karmaConfig": "projects/igniteui-angular-extras/karma.conf.js"
299+
}
300+
},
301+
"lint": {
302+
"builder": "@angular-eslint/builder:lint",
303+
"options": {
304+
"lintFilePatterns": [
305+
"projects/igniteui-angular-extras/**/*.ts",
306+
"projects/igniteui-angular-extras/**/*.html"
307+
],
308+
"eslintConfig": "projects/igniteui-angular/eslint.config.mjs"
309+
}
310+
}
311+
}
312+
},
259313
"igniteui-angular-elements": {
260314
"projectType": "application",
261315
"schematics": {

gulpfile.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,15 @@ module.exports.copyMigrations = (cb) => {
7070
cb();
7171
};
7272

73+
module.exports.copyExtrasMigrations = (cb) => {
74+
gulp.src([
75+
'./projects/igniteui-angular-extras/migrations/**/*.json',
76+
'!**/tsconfig.json'
77+
]).pipe(gulp.dest('./dist/igniteui-angular-extras/migrations'));
78+
79+
cb();
80+
};
81+
7382
module.exports.copySchematics = (cb) => {
7483
gulp.src([
7584
'./projects/igniteui-angular/schematics/**/*.json',

package-lock.json

Lines changed: 33 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"start": "ng serve --open --hmr",
77
"start:elements": "ng serve --project igniteui-angular-elements",
88
"start:performance": "ng serve --project igniteui-angular-performance",
9-
"build": "npm run build:lib && npm run build:elements && npm run build:schematics && npm run build:migrations && npm run build:i18n",
9+
"build": "npm run build:lib && npm run build:elements && npm run build:extras && npm run build:schematics && npm run build:migrations && npm run build:i18n",
1010
"test": "ng test igniteui-angular",
1111
"lint": "ng lint",
1212
"e2e": "ng e2e",
@@ -25,6 +25,10 @@
2525
"test:elements:watch": "ng test igniteui-angular-elements",
2626
"build:lib": "ng build igniteui-angular --configuration production && npm run build:styles",
2727
"build:styles": "node scripts/build-styles.mjs",
28+
"build:extras": "ng build igniteui-angular-extras --configuration production && npm run build:extras-migrations",
29+
"build:extras-migrations": "gulp copyExtrasMigrations && tsc --listEmittedFiles --project ./projects/igniteui-angular-extras/migrations/tsconfig.json",
30+
"test:extras": "ng test igniteui-angular-extras --watch=false --no-progress --code-coverage",
31+
"test:extras:watch": "ng test igniteui-angular-extras",
2832
"build:migrations": "gulp copyMigrations && tsc --listEmittedFiles --project ./projects/igniteui-angular/migrations/tsconfig.json",
2933
"build:schematics": "gulp copySchematics && tsc --listEmittedFiles --project ./projects/igniteui-angular/schematics/tsconfig.json",
3034
"build:docs": "npm run build:typedoc:en:production && npm run build:sassdoc:en:production",
@@ -47,6 +51,7 @@
4751
"build:i18n": "tsc --project projects/igniteui-angular-i18n/tsconfig.build.json && cp projects/igniteui-angular-i18n/package.json dist/igniteui-angular-i18n/package.json",
4852
"build:bundletest": "ng build bundle-test --configuration production",
4953
"lint:i18n": "eslint projects/igniteui-angular-i18n/src/**/*.ts",
54+
"lint:extras": "ng lint igniteui-angular-extras",
5055
"test:i18n:dist": "eslint -c projects/igniteui-angular-i18n/eslintrc.dist.i18n.mjs dist/igniteui-angular-i18n",
5156
"build:elements": "ng build igniteui-angular-elements && npm run pack:elements && gulp copyPackageForElements",
5257
"pack:elements": "node projects/igniteui-angular-elements/esbuild.mjs && node scripts/build-elements-styles.mjs",
@@ -125,6 +130,8 @@
125130
"hammer-simulator": "0.0.1",
126131
"hammerjs": "^2.0.8",
127132
"ig-typedoc-theme": "^7.0.1",
133+
"igniteui-angular-charts": "^21.0.0",
134+
"igniteui-angular-core": "^21.0.0",
128135
"igniteui-dockmanager": "^1.17.0",
129136
"igniteui-grid-lite": "^0.6.0",
130137
"igniteui-i18n-resources": "^1.0.2",
@@ -164,6 +171,16 @@
164171
"astro": {
165172
"zod": "~3.25.0"
166173
}
174+
},
175+
"igniteui-angular-charts": {
176+
"@angular/core": "^21.0.0",
177+
"@angular/common": "^21.0.0",
178+
"@angular/compiler": "^21.0.0"
179+
},
180+
"igniteui-angular-core": {
181+
"@angular/core": "^21.0.0",
182+
"@angular/common": "^21.0.0",
183+
"@angular/compiler": "^21.0.0"
167184
}
168185
}
169186
}

projects/igniteui-angular-elements/src/public_api.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { registerI18n, setCurrentI18n } from 'igniteui-i18n-core';
2-
import { ByLevelTreeGridMergeStrategy, ColumnPinningPosition, DefaultMergeStrategy, DefaultTreeGridMergeStrategy, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, HorizontalAlignment, IgxBooleanFilteringOperand, IgxDateFilteringOperand, IgxDateTimeFilteringOperand, IgxFilteringOperand, IgxNumberFilteringOperand, IgxStringFilteringOperand, IgxTimeFilteringOperand, NoopFilteringStrategy, NoopSortingStrategy, SortingDirection, VerticalAlignment } from 'igniteui-angular/core';
2+
import { ByLevelTreeGridMergeStrategy, ColumnPinningPosition, DefaultMergeStrategy, DefaultTreeGridMergeStrategy, FilteringExpressionsTree, FilteringExpressionsTreeType, FilteringLogic, HorizontalAlignment, IgxBooleanFilteringOperand, IgxDateFilteringOperand, IgxDateTimeFilteringOperand, IgxFilteringOperand, IgxNumberFilteringOperand, IgxStringFilteringOperand, IgxTimeFilteringOperand, NoopFilteringStrategy, NoopSortingStrategy, SortingDirection, TransactionType, TransactionEventOrigin, VerticalAlignment } from 'igniteui-angular/core';
33
import { DropPosition, GridPagingMode, IgxDateSummaryOperand, IgxNumberSummaryOperand, IgxPivotAggregate, IgxPivotDateAggregate, IgxPivotDateDimension, IgxPivotNumericAggregate, IgxPivotTimeAggregate, IgxSummaryOperand, IgxTimeSummaryOperand, NoopPivotDimensionsStrategy, PivotDimensionType, RowPinningPosition } from 'igniteui-angular/grids/core';
44

55
/** Export Public API, TODO: reorganize, Generate all w/ renames? */
@@ -49,4 +49,8 @@ export {
4949
// i18n
5050
registerI18n,
5151
setCurrentI18n,
52+
53+
// Transactions API
54+
TransactionType,
55+
TransactionEventOrigin,
5256
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
=================================================================
2+
3+
Infragistics Commercial License for Ignite UI for Angular Extras
4+
5+
=================================================================
6+
7+
This package contains commercial-only features and enhancements for Ignite UI for Angular.
8+
9+
All components, directives, services, and code within this package are licensed under the Infragistics Commercial License (EULA).
10+
11+
This is a commercial product, requiring a valid paid-for license for commercial use.
12+
This product is free to use for non-commercial educational use for students in K through 12 grades
13+
or University programs, and for educators to use in a classroom setting as examples/tools in their curriculum.
14+
15+
To verify eligibility for free usage, please register for trial at:
16+
https://www.infragistics.com/angular and open a support ticket with a request for free license.
17+
18+
To acquire a license for commercial usage, please register for trial at:
19+
https://www.infragistics.com/angular and refer to the purchasing options in the pricing section on the product page.
20+
21+
© Copyright 2026 INFRAGISTICS. All Rights Reserved.
22+
The Infragistics Ultimate license & copyright applies to this distribution.
23+
For information on that license, please go to:
24+
https://www.infragistics.com/legal/license
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
## Ignite UI for Angular Extras
2+
This package is part of our private npm feed hosted on https://packages.infragistics.com/npm/js-licensed/. If you are building a commercial product or your license has expired, you will need to [acquire a commercial license](https://www.infragistics.com/how-to-buy/product-pricing). There you will find the latest versions of the Ignite UI for Angular packages.
3+
4+
Use our [public repository](https://github.com/IgniteUI/igniteui-angular) for questions, issues and feature requests.
5+
6+
### Start using Ignite UI Angular Extras
7+
8+
#### Create a project from scratch
9+
1. Execute the following commands
10+
```
11+
npm i -g @igniteui/angular-schematics
12+
ng new <project name> --collection="@igniteui/angular-schematics" --template=<template id>
13+
cd <project name>
14+
ng g @igniteui/angular-schematics:component grid <component name>
15+
npm install igniteui-angular-extras
16+
```
17+
18+
> Note: If your app needs to be updated from trial to licensed package, check out our [official guide](https://www.infragistics.com/products/ignite-ui-angular/angular/components/general/ignite-ui-licensing.html#upgrading-packages-using-our-angular-schematics-or-ignite-ui-cli) on the subject. Use `ng g @igniteui/angular-schematics:upgrade-packages`.
19+
20+
21+
2. After the package is installed go ahead and:
22+
23+
## Updated Usage
24+
25+
### Before Version 19.x
26+
27+
In versions prior to 19.x, Ignite UI for Angular Extras required adding the `IgxExtrasModule` to your `app.module.ts` to enable components and directives. After installing the package, you would include the module in your `app.module.ts` as follows:
28+
29+
- Add the `IgxExtrasModule` to your app.module.ts
30+
- Apply `igxChartIntegration`, `igxConditionalFormatting`, `igxContextMenu` directives to your grid:
31+
32+
33+
34+
```typescript
35+
import { IgxExtrasModule } from 'igniteui-angular-extras';
36+
37+
@NgModule({
38+
declarations: [ ... ],
39+
imports: [ IgxExtrasModule, ... ],
40+
bootstrap: [ ... ]
41+
})
42+
export class AppModule { }
43+
```
44+
45+
```html
46+
<igx-grid #grid1 igxChartIntegration igxConditionalFormatting igxContextMenu
47+
[autoGenerate]="true" [paging]="true" [data]="localData" >
48+
</igx-grid>
49+
```
50+
51+
### After Version 19.x
52+
53+
Since version 19.x, Ignite UI for Angular Extras has adopted standalone components and directives, removing the need to add `IgxExtrasModule` to your `app.module.ts`. You can now directly import the required components and directives as standalone elements.
54+
55+
```typescript
56+
import { IgxChartIntegrationDirective } from 'igniteui-angular-extras';
57+
import { IgxConditionalFormattingDirective } from 'igniteui-angular-extras';
58+
import { IgxContextMenuDirective } from 'igniteui-angular-extras';
59+
```
60+
61+
```html
62+
<igx-grid #grid1 igxChartIntegration igxConditionalFormatting igxContextMenu
63+
[autoGenerate]="true" [paging]="true" [data]="localData" >
64+
</igx-grid>
65+
```
66+
67+
3. Execute `npm run start`
68+
69+
### Build
70+
71+
Execute `npm run build:lib` to build the project. The build artifacts will be stored in the `dist/` directory. By default it builds the project with `--prod` flag for a production build.
72+
In order to run the project with a small sample, execute `npm run start`

0 commit comments

Comments
 (0)