From 3d45414c8d6bcf7676765cf31f268cb2d6d9705a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Jun 2026 11:31:31 +0000 Subject: [PATCH 1/6] Initial plan From a0aeffe3f6c79194eec37bf22388447abd69cb79 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Jun 2026 11:39:34 +0000 Subject: [PATCH 2/6] feat(input-group): change default type from 'line' to 'box' Change the default type of igx-input-group and igx-select from 'line' to 'box' to align with current Material Design guidelines. Add migration schematic (migration-57) that adds type="line" to existing igx-input-group, igx-select, igx-date-picker, igx-date-range-picker, and igx-time-picker elements that don't already have an explicit type attribute. Closes #17339 --- package-lock.json | 138 ++++++++++-------- .../igniteui-angular/input-group/README.md | 2 +- .../input-group/input-group.component.spec.ts | 4 +- .../src/input-group/input-group.component.ts | 4 +- .../migrations/migration-collection.json | 5 + .../migrations/update-21_2_3/index.spec.ts | 117 +++++++++++++++ .../migrations/update-21_2_3/index.ts | 76 ++++++++++ .../src/select/select.component.spec.ts | 16 +- .../select/src/select/select.component.ts | 2 +- 9 files changed, 287 insertions(+), 77 deletions(-) create mode 100644 projects/igniteui-angular/migrations/update-21_2_3/index.spec.ts create mode 100644 projects/igniteui-angular/migrations/update-21_2_3/index.ts diff --git a/package-lock.json b/package-lock.json index 6a0a6e90e3a..193c3dba46d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1182,9 +1182,6 @@ "arm" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1199,9 +1196,6 @@ "arm" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1216,9 +1210,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1233,9 +1224,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1250,9 +1238,6 @@ "loong64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1267,9 +1252,6 @@ "loong64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1284,9 +1266,6 @@ "ppc64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1301,9 +1280,6 @@ "ppc64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1318,9 +1294,6 @@ "riscv64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1335,9 +1308,6 @@ "riscv64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -1352,9 +1322,6 @@ "s390x" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1369,9 +1336,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -1386,9 +1350,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -5048,9 +5009,6 @@ "arm64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -5068,9 +5026,6 @@ "arm64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -5088,9 +5043,6 @@ "ppc64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -5108,9 +5060,6 @@ "riscv64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -5128,9 +5077,6 @@ "s390x" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -5148,9 +5094,6 @@ "x64" ], "dev": true, - "libc": [ - "glibc" - ], "license": "MIT", "optional": true, "os": [ @@ -5168,9 +5111,6 @@ "x64" ], "dev": true, - "libc": [ - "musl" - ], "license": "MIT", "optional": true, "os": [ @@ -5778,6 +5718,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5798,6 +5739,7 @@ "cpu": [ "arm" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5818,6 +5760,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5838,6 +5781,7 @@ "cpu": [ "arm64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5858,6 +5802,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5878,6 +5823,7 @@ "cpu": [ "x64" ], + "dev": true, "license": "MIT", "optional": true, "os": [ @@ -23186,6 +23132,33 @@ "sassdoc-extras": "^2.5.0" } }, + "node_modules/sassdoc-theme-default/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/sassdoc-theme-default/node_modules/commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", @@ -23214,6 +23187,21 @@ "jsonfile": "^2.1.0" } }, + "node_modules/sassdoc-theme-default/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "optional": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/sassdoc-theme-default/node_modules/jsonfile": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", @@ -23250,6 +23238,36 @@ } } }, + "node_modules/sassdoc-theme-default/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/sassdoc-theme-default/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/sassdoc/node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", diff --git a/projects/igniteui-angular/input-group/README.md b/projects/igniteui-angular/input-group/README.md index 0a3ac91ef35..6d35c287a93 100644 --- a/projects/igniteui-angular/input-group/README.md +++ b/projects/igniteui-angular/input-group/README.md @@ -47,7 +47,7 @@ Ignite UI for Angular Hint provides a helper text placed below the input. The hi | Name | Description | | :--- | :--- | -| type | How the input will be styled. The allowed values are line, box, border and search. The default is line.| +| type | How the input will be styled. The allowed values are line, box, border and search. The default is box.| | theme | Allows the user to change the theme of the input group. | | position | **`Hint` API**. Where the hint will be placed. The allowed values are start and end. The default value is start. | diff --git a/projects/igniteui-angular/input-group/src/input-group/input-group.component.spec.ts b/projects/igniteui-angular/input-group/src/input-group/input-group.component.spec.ts index 12ad887770e..b10d4829a94 100644 --- a/projects/igniteui-angular/input-group/src/input-group/input-group.component.spec.ts +++ b/projects/igniteui-angular/input-group/src/input-group/input-group.component.spec.ts @@ -37,8 +37,8 @@ describe('IgxInputGroup', () => { const igxInputGroup = fixture.componentInstance.igxInputGroup; tick(); fixture.detectChanges(); - // the default type should be line - testInputGroupType('line', igxInputGroup, inputGroupElement); + // the default type should be box + testInputGroupType('box', igxInputGroup, inputGroupElement); })); it('Initializes an input group with type box.', fakeAsync(() => { diff --git a/projects/igniteui-angular/input-group/src/input-group/input-group.component.ts b/projects/igniteui-angular/input-group/src/input-group/input-group.component.ts index 58eca803e1e..c1b43bf59da 100644 --- a/projects/igniteui-angular/input-group/src/input-group/input-group.component.ts +++ b/projects/igniteui-angular/input-group/src/input-group/input-group.component.ts @@ -187,7 +187,7 @@ export class IgxInputGroupComponent implements IgxInputGroupBase, AfterContentCh /** * Returns the type of the `IgxInputGroupComponent`. How the input is styled. - * The default is `line`. + * The default is `box`. * ```typescript * @ViewChild("MyInputGroup") * public inputGroup: IgxInputGroupComponent; @@ -197,7 +197,7 @@ export class IgxInputGroupComponent implements IgxInputGroupBase, AfterContentCh * ``` */ public get type() { - return this._type || this._inputGroupType || 'line'; + return this._type || this._inputGroupType || 'box'; } /** diff --git a/projects/igniteui-angular/migrations/migration-collection.json b/projects/igniteui-angular/migrations/migration-collection.json index 7fae5e49350..dcdd62aaf6b 100644 --- a/projects/igniteui-angular/migrations/migration-collection.json +++ b/projects/igniteui-angular/migrations/migration-collection.json @@ -289,6 +289,11 @@ "version": "21.2.2", "description": "Updates Ignite UI for Angular from v21.2.0 to v21.2.2", "factory": "./update-21_2_2" + }, + "migration-57": { + "version": "21.2.3", + "description": "Updates Ignite UI for Angular from v21.2.2 to v21.2.3", + "factory": "./update-21_2_3" } } } diff --git a/projects/igniteui-angular/migrations/update-21_2_3/index.spec.ts b/projects/igniteui-angular/migrations/update-21_2_3/index.spec.ts new file mode 100644 index 00000000000..5bdf0b40ec2 --- /dev/null +++ b/projects/igniteui-angular/migrations/update-21_2_3/index.spec.ts @@ -0,0 +1,117 @@ +import * as path from 'path'; + +import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing/index.js'; +import { setupTestTree } from '../common/setup.spec'; + +const version = '21.2.3'; + +describe(`Update to ${version}`, () => { + let appTree: UnitTestTree; + const schematicRunner = new SchematicTestRunner('ig-migrate', path.join(__dirname, '../migration-collection.json')); + + beforeEach(() => { + appTree = setupTestTree(); + }); + + const migrationName = 'migration-57'; + + it('should add type="line" to igx-input-group without explicit type', async () => { + appTree.create( + `/testSrc/appPrefix/component/test.component.html`, + `` + ); + + const tree = await schematicRunner.runSchematic(migrationName, {}, appTree); + + expect(tree.readContent('/testSrc/appPrefix/component/test.component.html')) + .toEqual(``); + }); + + it('should add type="line" to igx-select without explicit type', async () => { + appTree.create( + `/testSrc/appPrefix/component/test.component.html`, + `Option` + ); + + const tree = await schematicRunner.runSchematic(migrationName, {}, appTree); + + expect(tree.readContent('/testSrc/appPrefix/component/test.component.html')) + .toEqual(`Option`); + }); + + it('should add type="line" to igx-date-picker without explicit type', async () => { + appTree.create( + `/testSrc/appPrefix/component/test.component.html`, + `` + ); + + const tree = await schematicRunner.runSchematic(migrationName, {}, appTree); + + expect(tree.readContent('/testSrc/appPrefix/component/test.component.html')) + .toEqual(``); + }); + + it('should add type="line" to igx-date-range-picker without explicit type', async () => { + appTree.create( + `/testSrc/appPrefix/component/test.component.html`, + `` + ); + + const tree = await schematicRunner.runSchematic(migrationName, {}, appTree); + + expect(tree.readContent('/testSrc/appPrefix/component/test.component.html')) + .toEqual(``); + }); + + it('should add type="line" to igx-time-picker without explicit type', async () => { + appTree.create( + `/testSrc/appPrefix/component/test.component.html`, + `` + ); + + const tree = await schematicRunner.runSchematic(migrationName, {}, appTree); + + expect(tree.readContent('/testSrc/appPrefix/component/test.component.html')) + .toEqual(``); + }); + + it('should NOT modify igx-input-group that already has type attribute', async () => { + appTree.create( + `/testSrc/appPrefix/component/test.component.html`, + `` + ); + + const tree = await schematicRunner.runSchematic(migrationName, {}, appTree); + + expect(tree.readContent('/testSrc/appPrefix/component/test.component.html')) + .toEqual(``); + }); + + it('should NOT modify igx-input-group that already has [type] binding', async () => { + appTree.create( + `/testSrc/appPrefix/component/test.component.html`, + `` + ); + + const tree = await schematicRunner.runSchematic(migrationName, {}, appTree); + + expect(tree.readContent('/testSrc/appPrefix/component/test.component.html')) + .toEqual(``); + }); + + it('should handle multiple components in the same template', async () => { + appTree.create( + `/testSrc/appPrefix/component/test.component.html`, + ` + +` + ); + + const tree = await schematicRunner.runSchematic(migrationName, {}, appTree); + + expect(tree.readContent('/testSrc/appPrefix/component/test.component.html')) + .toEqual(` + +`); + }); +}); diff --git a/projects/igniteui-angular/migrations/update-21_2_3/index.ts b/projects/igniteui-angular/migrations/update-21_2_3/index.ts new file mode 100644 index 00000000000..65903c6d81e --- /dev/null +++ b/projects/igniteui-angular/migrations/update-21_2_3/index.ts @@ -0,0 +1,76 @@ +import type { Rule, SchematicContext, Tree } from '@angular-devkit/schematics'; +import { UpdateChanges } from '../common/UpdateChanges'; +import { + FileChange, + findElementNodes, + getSourceOffset, + hasAttribute, + parseFile +} from '../common/util'; + +const version = '21.2.3'; + +export default (): Rule => async (host: Tree, context: SchematicContext) => { + context.logger.info( + `Applying migration for Ignite UI for Angular to version ${version}` + ); + + const { HtmlParser, Element } = await import('@angular/compiler'); + + const update = new UpdateChanges(__dirname, host, context); + const changes = new Map(); + const parser = new HtmlParser(); + + const applyChanges = () => { + for (const [path, fileChanges] of changes.entries()) { + let content = host.read(path)!.toString(); + fileChanges + .sort((a, b) => b.position - a.position) + .forEach((c) => { + content = c.apply(content); + }); + host.overwrite(path, content); + } + }; + + const addChange = (path: string, change: FileChange) => { + if (!changes.has(path)) { + changes.set(path, []); + } + changes.get(path)!.push(change); + }; + + // All form components that default to 'line' prior to this version + const TAGS = [ + 'igx-input-group', + 'igx-select', + 'igx-date-picker', + 'igx-date-range-picker', + 'igx-time-picker' + ]; + + const TYPE_ATTRS = ['type', '[type]']; + + for (const path of update.templateFiles) { + const root = parseFile(parser, host, path); + const nodes = findElementNodes(root, TAGS); + + for (const node of nodes) { + if (!(node instanceof Element)) continue; + + // Skip if the element already has an explicit type binding + if (hasAttribute(node, TYPE_ATTRS)) continue; + + const offset = getSourceOffset(node); + const file = offset.file; + + // Insert type="line" right after the tag name in the start tag + // e.g., { expect(select.disabled).toBeFalsy(); expect(select.placeholder).toEqual('Choose a city'); expect(select.value).toBeNull(); - // Default type will be set - currently 'line' - expect(select.type).toEqual('line'); + // Default type will be set - currently 'box' + expect(select.type).toEqual('box'); expect(select.overlaySettings).toBeUndefined(); expect(select.items).toBeDefined(); // Reset input values @@ -461,16 +461,10 @@ describe('igxSelect', () => { it('should render input type properly', fakeAsync(() => { const inputGroup = fixture.debugElement.query(By.css('.' + CSS_CLASS_INPUT_GROUP)); - // Default type will be set - currently 'line' - expect(select.type).toEqual('line'); - expect(inputGroup.nativeElement.classList.contains(CSS_CLASS_INPUT_GROUP_BOX)).toBeFalsy(); - expect(inputGroup.nativeElement.classList.contains(CSS_CLASS_INPUT_GROUP_BORDER)).toBeFalsy(); - select.type = 'box'; - fixture.detectChanges(); - tick(); - fixture.detectChanges(); - + // Default type will be set - currently 'box' + expect(select.type).toEqual('box'); expect(inputGroup.nativeElement.classList.contains(CSS_CLASS_INPUT_GROUP_BOX)).toBeTruthy(); + expect(inputGroup.nativeElement.classList.contains(CSS_CLASS_INPUT_GROUP_BORDER)).toBeFalsy(); select.type = 'border'; fixture.detectChanges(); tick(); diff --git a/projects/igniteui-angular/select/src/select/select.component.ts b/projects/igniteui-angular/select/src/select/select.component.ts index 4a3a8031caa..180a3c42cec 100644 --- a/projects/igniteui-angular/select/src/select/select.component.ts +++ b/projects/igniteui-angular/select/src/select/select.component.ts @@ -296,7 +296,7 @@ export class IgxSelectComponent extends IgxDropDownComponent implements IgxSelec */ @Input() public get type(): IgxInputGroupType { - return this._type || this._inputGroupType || 'line'; + return this._type || this._inputGroupType || 'box'; } public set type(val: IgxInputGroupType) { From cf7cbad8287590feae35cd204678bce98e3c1ce5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Jun 2026 11:40:01 +0000 Subject: [PATCH 3/6] chore(*): restore package-lock.json to original state --- package-lock.json | 138 ++++++++++++++++++++-------------------------- 1 file changed, 60 insertions(+), 78 deletions(-) diff --git a/package-lock.json b/package-lock.json index 193c3dba46d..6a0a6e90e3a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1182,6 +1182,9 @@ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1196,6 +1199,9 @@ "arm" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1210,6 +1216,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1224,6 +1233,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1238,6 +1250,9 @@ "loong64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1252,6 +1267,9 @@ "loong64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1266,6 +1284,9 @@ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1280,6 +1301,9 @@ "ppc64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1294,6 +1318,9 @@ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1308,6 +1335,9 @@ "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -1322,6 +1352,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1336,6 +1369,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -1350,6 +1386,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5009,6 +5048,9 @@ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5026,6 +5068,9 @@ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5043,6 +5088,9 @@ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5060,6 +5108,9 @@ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5077,6 +5128,9 @@ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5094,6 +5148,9 @@ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -5111,6 +5168,9 @@ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -5718,7 +5778,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5739,7 +5798,6 @@ "cpu": [ "arm" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5760,7 +5818,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5781,7 +5838,6 @@ "cpu": [ "arm64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5802,7 +5858,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -5823,7 +5878,6 @@ "cpu": [ "x64" ], - "dev": true, "license": "MIT", "optional": true, "os": [ @@ -23132,33 +23186,6 @@ "sassdoc-extras": "^2.5.0" } }, - "node_modules/sassdoc-theme-default/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, "node_modules/sassdoc-theme-default/node_modules/commander": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", @@ -23187,21 +23214,6 @@ "jsonfile": "^2.1.0" } }, - "node_modules/sassdoc-theme-default/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "optional": true, - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/sassdoc-theme-default/node_modules/jsonfile": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", @@ -23238,36 +23250,6 @@ } } }, - "node_modules/sassdoc-theme-default/node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/sassdoc-theme-default/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, "node_modules/sassdoc/node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", From 42d2801d9adff17ef42fb79cc9130c754b6488ed Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Jun 2026 12:25:29 +0000 Subject: [PATCH 4/6] fix(*): update migration version from 21.2.3 to 22.0.0 --- .../igniteui-angular/migrations/migration-collection.json | 6 +++--- .../{update-21_2_3 => update-22_0_0}/index.spec.ts | 2 +- .../migrations/{update-21_2_3 => update-22_0_0}/index.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename projects/igniteui-angular/migrations/{update-21_2_3 => update-22_0_0}/index.spec.ts (99%) rename projects/igniteui-angular/migrations/{update-21_2_3 => update-22_0_0}/index.ts (98%) diff --git a/projects/igniteui-angular/migrations/migration-collection.json b/projects/igniteui-angular/migrations/migration-collection.json index dcdd62aaf6b..526b573700d 100644 --- a/projects/igniteui-angular/migrations/migration-collection.json +++ b/projects/igniteui-angular/migrations/migration-collection.json @@ -291,9 +291,9 @@ "factory": "./update-21_2_2" }, "migration-57": { - "version": "21.2.3", - "description": "Updates Ignite UI for Angular from v21.2.2 to v21.2.3", - "factory": "./update-21_2_3" + "version": "22.0.0", + "description": "Updates Ignite UI for Angular from v21.2.x to v22.0.0", + "factory": "./update-22_0_0" } } } diff --git a/projects/igniteui-angular/migrations/update-21_2_3/index.spec.ts b/projects/igniteui-angular/migrations/update-22_0_0/index.spec.ts similarity index 99% rename from projects/igniteui-angular/migrations/update-21_2_3/index.spec.ts rename to projects/igniteui-angular/migrations/update-22_0_0/index.spec.ts index 5bdf0b40ec2..43a98882041 100644 --- a/projects/igniteui-angular/migrations/update-21_2_3/index.spec.ts +++ b/projects/igniteui-angular/migrations/update-22_0_0/index.spec.ts @@ -3,7 +3,7 @@ import * as path from 'path'; import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing/index.js'; import { setupTestTree } from '../common/setup.spec'; -const version = '21.2.3'; +const version = '22.0.0'; describe(`Update to ${version}`, () => { let appTree: UnitTestTree; diff --git a/projects/igniteui-angular/migrations/update-21_2_3/index.ts b/projects/igniteui-angular/migrations/update-22_0_0/index.ts similarity index 98% rename from projects/igniteui-angular/migrations/update-21_2_3/index.ts rename to projects/igniteui-angular/migrations/update-22_0_0/index.ts index 65903c6d81e..c87176922b3 100644 --- a/projects/igniteui-angular/migrations/update-21_2_3/index.ts +++ b/projects/igniteui-angular/migrations/update-22_0_0/index.ts @@ -8,7 +8,7 @@ import { parseFile } from '../common/util'; -const version = '21.2.3'; +const version = '22.0.0'; export default (): Rule => async (host: Tree, context: SchematicContext) => { context.logger.info( From 07c38cfb00d1d5f96caccd2567b73932e569a486 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Jun 2026 12:38:31 +0000 Subject: [PATCH 5/6] docs(select): update JSDoc for type input to reflect box default --- projects/igniteui-angular/select/src/select/select.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/igniteui-angular/select/src/select/select.component.ts b/projects/igniteui-angular/select/src/select/select.component.ts index 180a3c42cec..71efb6c79c9 100644 --- a/projects/igniteui-angular/select/src/select/select.component.ts +++ b/projects/igniteui-angular/select/src/select/select.component.ts @@ -289,7 +289,7 @@ export class IgxSelectComponent extends IgxDropDownComponent implements IgxSelec /** * Sets how the select will be styled. - * The allowed values are `line`, `box` and `border`. The input-group default is `line`. + * The allowed values are `line`, `box` and `border`. Defaults to `box` if no input-group type is set. * ```html * * ``` From ba3825975e6000dc289f4e48cd03a06a3efe631b Mon Sep 17 00:00:00 2001 From: Konstantin Dinev Date: Mon, 22 Jun 2026 15:42:38 +0300 Subject: [PATCH 6/6] Update projects/igniteui-angular/select/src/select/select.component.ts --- projects/igniteui-angular/select/src/select/select.component.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/igniteui-angular/select/src/select/select.component.ts b/projects/igniteui-angular/select/src/select/select.component.ts index 71efb6c79c9..63ae442d0f1 100644 --- a/projects/igniteui-angular/select/src/select/select.component.ts +++ b/projects/igniteui-angular/select/src/select/select.component.ts @@ -291,7 +291,7 @@ export class IgxSelectComponent extends IgxDropDownComponent implements IgxSelec * Sets how the select will be styled. * The allowed values are `line`, `box` and `border`. Defaults to `box` if no input-group type is set. * ```html - * + * * ``` */ @Input()