Skip to content

Commit ea77a9e

Browse files
committed
Merge branch '20.0.x' of https://github.com/IgniteUI/igniteui-angular into mkirkova/feat-combo-close-on-blur-15838-master
2 parents 64905bf + ed19b66 commit ea77a9e

File tree

233 files changed

+18074
-11185
lines changed

Some content is hidden

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

233 files changed

+18074
-11185
lines changed

.github/workflows/nodejs.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,45 @@
22

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

5+
## 20.0.2
6+
7+
### New Features
8+
- **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.
9+
- **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:
10+
```scss
11+
$custom-contained-button: contained-button-theme(
12+
$background: #09f;
13+
);
14+
```
15+
16+
## 20.0.0
17+
18+
### General
19+
- **Angular 20 Compatibility** - Ignite UI for Angular now plays nice with Angular 20! Upgrade your apps and enjoy the latest features.
20+
- `IgxActionStrip`
21+
- **Behavioral Changes** - When using the Action Strip standalone, outside of Grid, scenarios the component is no longer initially visible and the `hidden` property now defaults to `true`.
22+
- `IgxChip`
23+
- **Behavioral Change** The `variant` is now strictly typed with the union of supported options and no longer accepts invalid values for the default state, provide no value (nullish) instead is needed.
24+
25+
### New Features
26+
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`, `IgxPivotGrid`
27+
- Added a new `igxGridEmpty` template directive that allows assigning the `emptyGridTemplate` declaratively, without the need to get and assign reference, like other grid templates like:
28+
```html
29+
<igx-grid>
30+
<ng-template igxGridEmpty>
31+
<!-- content to show when the grid is empty -->
32+
</ng-template>
33+
</igx-grid>
34+
```
35+
- Added a new `igxGridLoading` template directive that allows assigning the `loadingGridTemplate` declaratively, without the need to get and assign reference, like other grid templates like:
36+
```html
37+
<igx-grid>
38+
<ng-template igxGridLoading>
39+
<!-- content to show when the grid is loading -->
40+
</ng-template>
41+
</igx-grid>
42+
```
43+
544
## 19.2.0
645

746
### General

angular.json

Lines changed: 46 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
},
1616
"architect": {
1717
"build": {
18-
"builder": "@angular-devkit/build-angular:application",
18+
"builder": "@angular/build:application",
1919
"options": {
2020
"outputPath": {
2121
"base": "dist/igniteui-dev-demos"
@@ -82,7 +82,7 @@
8282
}
8383
},
8484
"serve": {
85-
"builder": "@angular-devkit/build-angular:dev-server",
85+
"builder": "@angular/build:dev-server",
8686
"options": {
8787
"buildTarget": "igniteui-dev-demos:build"
8888
},
@@ -97,13 +97,13 @@
9797
}
9898
},
9999
"extract-i18n": {
100-
"builder": "@angular-devkit/build-angular:extract-i18n",
100+
"builder": "@angular/build:extract-i18n",
101101
"options": {
102102
"buildTarget": "igniteui-dev-demos:build"
103103
}
104104
},
105105
"test": {
106-
"builder": "@angular-devkit/build-angular:karma",
106+
"builder": "@angular/build:karma",
107107
"options": {
108108
"main": "src/test.ts",
109109
"polyfills": [
@@ -171,7 +171,7 @@
171171
"prefix": "lib",
172172
"architect": {
173173
"build": {
174-
"builder": "@angular-devkit/build-angular:ng-packagr",
174+
"builder": "@angular/build:ng-packagr",
175175
"options": {
176176
"tsConfig": "projects/igniteui-angular/tsconfig.lib.json",
177177
"project": "projects/igniteui-angular/ng-package.json"
@@ -184,15 +184,16 @@
184184
}
185185
},
186186
"test": {
187-
"builder": "@angular-devkit/build-angular:karma",
187+
"builder": "@angular/build:karma",
188188
"options": {
189189
"polyfills": [
190190
"zone.js",
191191
"zone.js/testing",
192192
"hammerjs"
193193
],
194194
"styles": [
195-
"src/styles/styles.scss"
195+
"src/styles/styles.scss",
196+
"projects/igniteui-angular/test.css"
196197
],
197198
"assets": [
198199
"projects/igniteui-angular/src/assets"
@@ -265,7 +266,7 @@
265266
"prefix": "app",
266267
"architect": {
267268
"build": {
268-
"builder": "@angular-devkit/build-angular:application",
269+
"builder": "@angular/build:application",
269270
"options": {
270271
"outputPath": {
271272
"base": "dist/igniteui-angular-elements"
@@ -322,7 +323,7 @@
322323
],
323324
"outputHashing": "none",
324325
"optimization": true,
325-
"externalDependencies": ["lit-html"]
326+
"externalDependencies": ["lit"]
326327
},
327328
"development": {
328329
"optimization": false,
@@ -338,7 +339,7 @@
338339
"defaultConfiguration": "production"
339340
},
340341
"serve": {
341-
"builder": "@angular-devkit/build-angular:dev-server",
342+
"builder": "@angular/build:dev-server",
342343
"configurations": {
343344
"production": {
344345
"buildTarget": "igniteui-angular-elements:build:production,dev-app"
@@ -350,16 +351,18 @@
350351
"defaultConfiguration": "development"
351352
},
352353
"extract-i18n": {
353-
"builder": "@angular-devkit/build-angular:extract-i18n",
354+
"builder": "@angular/build:extract-i18n",
354355
"options": {
355356
"buildTarget": "igniteui-angular-elements:build"
356357
}
357358
},
358359
"test": {
359-
"builder": "@angular-devkit/build-angular:karma",
360+
"builder": "@angular/build:karma",
360361
"options": {
361362
"main": "projects/igniteui-angular-elements/src/test.ts",
362-
"polyfills": "projects/igniteui-angular-elements/src/polyfills.ts",
363+
"polyfills": [
364+
"projects/igniteui-angular-elements/src/polyfills.ts"
365+
],
363366
"tsConfig": "projects/igniteui-angular-elements/tsconfig.spec.json",
364367
"karmaConfig": "projects/igniteui-angular-elements/karma.conf.js",
365368
"inlineStyleLanguage": "scss",
@@ -390,7 +393,7 @@
390393
"prefix": "app",
391394
"architect": {
392395
"build": {
393-
"builder": "@angular-devkit/build-angular:application",
396+
"builder": "@angular/build:application",
394397
"options": {
395398
"outputPath": "dist/bundle-test",
396399
"index": "projects/bundle-test/src/index.html",
@@ -401,7 +404,8 @@
401404
"tsConfig": "projects/bundle-test/tsconfig.app.json",
402405
"inlineStyleLanguage": "scss",
403406
"styles": [
404-
"projects/bundle-test/src/styles.scss"
407+
"projects/bundle-test/src/styles.scss",
408+
"projects/igniteui-angular/test.css"
405409
],
406410
"scripts": [],
407411
"stylePreprocessorOptions": {
@@ -441,7 +445,7 @@
441445
"defaultConfiguration": "production"
442446
},
443447
"serve": {
444-
"builder": "@angular-devkit/build-angular:dev-server",
448+
"builder": "@angular/build:dev-server",
445449
"configurations": {
446450
"production": {
447451
"buildTarget": "bundle-test:build:production"
@@ -453,13 +457,13 @@
453457
"defaultConfiguration": "development"
454458
},
455459
"extract-i18n": {
456-
"builder": "@angular-devkit/build-angular:extract-i18n",
460+
"builder": "@angular/build:extract-i18n",
457461
"options": {
458462
"buildTarget": "bundle-test:build"
459463
}
460464
},
461465
"test": {
462-
"builder": "@angular-devkit/build-angular:karma",
466+
"builder": "@angular/build:karma",
463467
"options": {
464468
"polyfills": [
465469
"zone.js",
@@ -485,6 +489,30 @@
485489
},
486490
"@angular-eslint/schematics:library": {
487491
"setParserOptionsProject": true
492+
},
493+
"@schematics/angular:component": {
494+
"type": "component"
495+
},
496+
"@schematics/angular:directive": {
497+
"type": "directive"
498+
},
499+
"@schematics/angular:service": {
500+
"type": "service"
501+
},
502+
"@schematics/angular:guard": {
503+
"typeSeparator": "."
504+
},
505+
"@schematics/angular:interceptor": {
506+
"typeSeparator": "."
507+
},
508+
"@schematics/angular:module": {
509+
"typeSeparator": "."
510+
},
511+
"@schematics/angular:pipe": {
512+
"typeSeparator": "."
513+
},
514+
"@schematics/angular:resolver": {
515+
"typeSeparator": "."
488516
}
489517
}
490518
}

gulpfile.js

Lines changed: 0 additions & 95 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,11 @@
11
'use strict';
22

3-
const del = require('del');
43
const gulp = require('gulp');
54
const process = require('process');
65
const fs = require('fs');
7-
const argv = require('yargs').argv;
8-
const sassdoc = require('sassdoc');
96
const path = require('path');
10-
const { series } = require('gulp');
11-
const slash = require('slash');
12-
13-
const DOCS_OUTPUT_PATH = slash(path.join(__dirname, 'dist', 'igniteui-angular', 'docs'));
147

158
module.exports.copyGitHooks = async (cb) => {
16-
179
if (process.env.AZURE_PIPELINES || process.env.TRAVIS || process.env.CI || !fs.existsSync('.git')) {
1810
return;
1911
}
@@ -88,93 +80,6 @@ module.exports.copySchematics = (cb) => {
8880
};
8981

9082

91-
function createDocsOutputDirFn(cb) {
92-
!fs.existsSync(DOCS_OUTPUT_PATH) && fs.mkdirSync(DOCS_OUTPUT_PATH);
93-
cb();
94-
}
95-
96-
const SASSDOC = {
97-
PROJECT_PATHS: [
98-
`${path.join(__dirname, 'projects', 'igniteui-angular', 'src', 'lib', 'core', 'styles')}/**/*.scss`,
99-
`${path.join(__dirname, 'node_modules', 'igniteui-theming', 'sass')}/**/*.scss`
100-
],
101-
DEST: path.join(DOCS_OUTPUT_PATH, 'sass'),
102-
OPTIONS: path.join(__dirname, '.sassdocrc'),
103-
};
104-
105-
const sassdocCleanOutputDir = (cb) => {
106-
del.sync(SASSDOC.DEST);
107-
cb();
108-
}
109-
110-
function sassdocBuildJson(cb) {
111-
const options = JSON.parse(fs.readFileSync(SASSDOC.OPTIONS, 'utf8'));
112-
113-
const { convert, exportDir } = argv;
114-
115-
options.convert = convert;
116-
options.exportDir = exportDir;
117-
118-
gulp.src(SASSDOC.PROJECT_PATHS)
119-
.pipe(sassdoc(options));
120-
121-
cb();
122-
123-
}
124-
125-
function sassdocImportJson(cb) {
126-
const options = JSON.parse(fs.readFileSync(SASSDOC.OPTIONS, 'utf8'));
127-
128-
const { render, importDir } = argv;
129-
130-
options.render = render;
131-
options.json_dir = importDir;
132-
options.shellStringsPath = path.join(__dirname, 'extras', 'template', 'strings', 'shell-strings.json');
133-
134-
gulp.src(SASSDOC.PROJECT_PATHS)
135-
.pipe(sassdoc(options));
136-
137-
cb();
138-
}
139-
140-
function sassdocBuildJA(cb) {
141-
const pathTranslations = path.join(__dirname, 'i18nRepo', 'sassdoc', 'ja');
142-
const options = JSON.parse(fs.readFileSync(SASSDOC.OPTIONS, 'utf8'));
143-
144-
options.lang = 'jp';
145-
options.render = argv.render;
146-
options.json_dir = pathTranslations;
147-
options.shellStringsPath = path.join(__dirname, 'extras', 'template', 'strings', 'shell-strings.json');
148-
149-
gulp.src(SASSDOC.PROJECT_PATHS)
150-
.pipe(sassdoc(options));
151-
152-
cb();
153-
}
154-
155-
function sassdocBuildEN(cb) {
156-
const options = JSON.parse(fs.readFileSync(SASSDOC.OPTIONS, 'utf8'));
157-
158-
options.lang = 'en';
159-
options.shellStringsPath = path.join(__dirname, 'extras', 'template', 'strings', 'shell-strings.json');
160-
161-
gulp.src(SASSDOC.PROJECT_PATHS)
162-
.pipe(sassdoc(options));
163-
164-
cb();
165-
}
166-
167-
module.exports.createDocsOutputDir = createDocsOutputDirFn;
168-
169-
/**
170-
* Sassdoc build tasks
171-
*/
172-
module.exports.sassdocCleanOutputDir = sassdocCleanOutputDir;
173-
module.exports.sassdocImportJson = sassdocImportJson;
174-
module.exports.sassdocBuildJson = sassdocBuildJson;
175-
module.exports.sassdocBuildJA = series(sassdocCleanOutputDir, sassdocBuildJA);
176-
module.exports.sassdocBuildEN = series(sassdocCleanOutputDir, sassdocBuildEN);
177-
17883
module.exports.copyPackageForElements = (cb) => {
17984
return gulp.src([
18085
path.join(__dirname, 'projects/igniteui-angular-elements/package.json')

0 commit comments

Comments
 (0)