From 461e0b741c4d0d5ffff10afd9e84a950fc8bf48b Mon Sep 17 00:00:00 2001 From: ViktorSlavov Date: Fri, 23 Nov 2018 14:10:41 +0200 Subject: [PATCH 1/5] fix(igxOverlay): take element, not child, in get overlay info, #3131 --- projects/igniteui-angular/src/lib/services/overlay/overlay.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/igniteui-angular/src/lib/services/overlay/overlay.ts b/projects/igniteui-angular/src/lib/services/overlay/overlay.ts index 57e10ec361b..f864fcba953 100644 --- a/projects/igniteui-angular/src/lib/services/overlay/overlay.ts +++ b/projects/igniteui-angular/src/lib/services/overlay/overlay.ts @@ -271,7 +271,7 @@ export class IgxOverlayService implements OnDestroy { this._appRef.attachView(dynamicComponent.hostView); // If the element is newly created from a Component, it is wrapped in 'ng-component' tag - we do not want that. - const element = dynamicComponent.location.nativeElement.lastElementChild; + const element = dynamicComponent.location.nativeElement; info.elementRef = { nativeElement: element }; info.componentRef = dynamicComponent; } From a0ece54d8972c9a7f9c941adcbe4fc19f2d97c7a Mon Sep 17 00:00:00 2001 From: ViktorSlavov Date: Fri, 23 Nov 2018 16:20:16 +0200 Subject: [PATCH 2/5] test(igxOverlay): add tests for rendering components, #3131 --- .../src/lib/services/overlay/overlay.spec.ts | 107 +++++++++++++++--- 1 file changed, 91 insertions(+), 16 deletions(-) diff --git a/projects/igniteui-angular/src/lib/services/overlay/overlay.spec.ts b/projects/igniteui-angular/src/lib/services/overlay/overlay.spec.ts index 4504574694d..e41bde98089 100644 --- a/projects/igniteui-angular/src/lib/services/overlay/overlay.spec.ts +++ b/projects/igniteui-angular/src/lib/services/overlay/overlay.spec.ts @@ -4,7 +4,8 @@ import { Inject, NgModule, ViewChild, - ComponentRef + ComponentRef, + HostBinding } from '@angular/core'; import { async as asyncWrapper, TestBed, fakeAsync, tick, async } from '@angular/core/testing'; import { BrowserModule } from '@angular/platform-browser'; @@ -32,6 +33,9 @@ import { scaleInVerTop, scaleOutVerTop } from 'projects/igniteui-angular/src/lib import { UIInteractions } from '../../test-utils/ui-interactions.spec'; import { configureTestSuite } from '../../test-utils/configure-suite'; +import { IgxCalendarComponent, IgxCalendarModule } from '../../calendar/index'; +import { IgxAvatarComponent, IgxAvatarModule } from '../../avatar/avatar.component'; +import { IgxDatePickerComponent, IgxDatePickerModule } from '../../date-picker/date-picker.component'; const CLASS_OVERLAY_CONTENT = 'igx-overlay__content'; const CLASS_OVERLAY_CONTENT_MODAL = 'igx-overlay__content--modal'; @@ -872,7 +876,7 @@ describe('igxOverlay', () => { const overlayDiv = document.getElementsByClassName(CLASS_OVERLAY_MAIN)[0]; const overlayWrapper = overlayDiv.children[0]; const content = overlayWrapper.firstChild; - const componentEl = content.lastChild; + const componentEl = content.lastChild.lastChild; // wrapped in 'NG-COMPONENT' expect(overlayWrapper.nodeName).toEqual('DIV'); expect(overlayWrapper.firstChild.nodeName).toEqual('DIV'); @@ -960,11 +964,15 @@ describe('igxOverlay', () => { fixture.detectChanges(); let hasScrollbar = document.body.scrollHeight > document.body.clientHeight; expect(hasScrollbar).toBeFalsy(); + fixture.componentInstance.overlay.onOpening.subscribe(e => { + fixture.detectChanges(); + }); fixture.componentInstance.overlay.show(SimpleBigSizeComponent); tick(); + fixture.componentInstance.overlay.onOpening.unsubscribe(); const overlayDiv = document.getElementsByClassName(CLASS_OVERLAY_MAIN)[0]; const overlayWrapper = overlayDiv.children[0]; - const componentEl = overlayWrapper.children[0].children[0]; + const componentEl = overlayWrapper.children[0].children[0].lastElementChild; // Wrapped in 'NG-COMPONENT' const wrapperRect = overlayWrapper.getBoundingClientRect(); const componentRect = componentEl.getBoundingClientRect(); @@ -1077,7 +1085,7 @@ describe('igxOverlay', () => { tick(); const overlayWrapper = document.getElementsByClassName(CLASS_OVERLAY_WRAPPER)[0]; const content = overlayWrapper.firstChild; - const componentEl = content.lastChild; + const componentEl = content.lastChild.lastChild; // wrapped in 'NG-COMPONENT' expect(overlayWrapper.nodeName).toEqual('DIV'); expect(overlayWrapper.firstChild.nodeName).toEqual('DIV'); expect(componentEl.nodeName).toEqual('DIV'); @@ -1449,7 +1457,7 @@ describe('igxOverlay', () => { fix.detectChanges(); const wrappers = document.getElementsByClassName(CLASS_OVERLAY_CONTENT); - const wrapperContent = wrappers[wrappers.length - 1]; + const wrapperContent = wrappers[wrappers.length - 1].lastElementChild; // wrapped in NG-COMPONENT expect(wrapperContent.children.length).toEqual(1); expect(wrapperContent.lastElementChild.getAttribute('style')) .toEqual('position: absolute; width:100px; height: 100px; background-color: red'); @@ -1472,13 +1480,13 @@ describe('igxOverlay', () => { fix.detectChanges(); const wrappers = document.getElementsByClassName(CLASS_OVERLAY_CONTENT); - const wrapperContent = wrappers[wrappers.length - 1] as HTMLElement; + const wrapperContent = wrappers[wrappers.length - 1] as HTMLElement; // wrapped in NG-COMPONENT const expectedStyle = 'position: absolute; width:100px; height: 100px; background-color: red'; - expect(wrapperContent.lastElementChild.getAttribute('style')).toEqual(expectedStyle); + expect(wrapperContent.lastElementChild.lastElementChild.getAttribute('style')).toEqual(expectedStyle); const buttonLeft = buttonElement.offsetLeft; const buttonTop = buttonElement.offsetTop; - const expectedLeft = buttonLeft - wrapperContent.lastElementChild.clientWidth; - const expectedTop = buttonTop - wrapperContent.lastElementChild.clientHeight; + const expectedLeft = buttonLeft - wrapperContent.lastElementChild.lastElementChild.clientWidth; + const expectedTop = buttonTop - wrapperContent.lastElementChild.lastElementChild.clientHeight; const wrapperLeft = wrapperContent.offsetLeft; const wrapperTop = wrapperContent.offsetTop; expect(wrapperTop).toEqual(expectedTop); @@ -2004,6 +2012,9 @@ describe('igxOverlay', () => { declarations: DIRECTIVE_COMPONENTS }); })); + afterAll(async(() => { + TestBed.resetTestingModule(); + })); // If adding a component near the visible window borders(left,right,up,down) // it should be partially hidden and based on scroll strategy: it('Should not allow scrolling with scroll strategy is not passed.', fakeAsync( async () => { @@ -2135,7 +2146,7 @@ describe('igxOverlay', () => { const wrappers = document.getElementsByClassName(CLASS_OVERLAY_CONTENT); const wrapperContent = wrappers[wrappers.length - 1] as HTMLElement; const expectedStyle = 'position: absolute; width:100px; height: 100px; background-color: red'; - expect(wrapperContent.lastElementChild.getAttribute('style')).toEqual(expectedStyle); + expect(wrapperContent.lastElementChild.lastElementChild.getAttribute('style')).toEqual(expectedStyle); const buttonLeft = buttonElement.offsetLeft; const buttonTop = buttonElement.offsetTop; const expectedLeft = buttonLeft + buttonElement.clientWidth; // To the right of the button @@ -2181,12 +2192,12 @@ describe('igxOverlay', () => { fix.detectChanges(); const wrappers = document.getElementsByClassName(CLASS_OVERLAY_CONTENT); - const wrapperContent = wrappers[wrappers.length - 1] as HTMLElement; + const wrapperContent = wrappers[wrappers.length - 1] as HTMLElement; // wrapper in NG-COMPONENT const expectedStyle = 'position: absolute; width:100px; height: 100px; background-color: red'; - expect(wrapperContent.lastElementChild.getAttribute('style')).toEqual(expectedStyle); + expect(wrapperContent.lastElementChild.lastElementChild.getAttribute('style')).toEqual(expectedStyle); const buttonLeft = buttonElement.offsetLeft; const buttonTop = buttonElement.offsetTop; - const expectedLeft = buttonLeft - wrapperContent.lastElementChild.clientWidth; // To the left of the button + const expectedLeft = buttonLeft - wrapperContent.lastElementChild.lastElementChild.clientWidth; // To the left of the button const expectedTop = buttonTop + buttonElement.clientHeight; // Bottom of the button const wrapperLeft = wrapperContent.offsetLeft; const wrapperTop = wrapperContent.offsetTop; @@ -2229,7 +2240,7 @@ describe('igxOverlay', () => { fix.detectChanges(); const wrappers = document.getElementsByClassName(CLASS_OVERLAY_CONTENT); - const wrapperContent = wrappers[wrappers.length - 1] as HTMLElement; + const wrapperContent = wrappers[wrappers.length - 1].lastElementChild as HTMLElement; // wrapped in NG-COMPONENT const expectedStyle = 'position: absolute; width:100px; height: 100px; background-color: red'; expect(wrapperContent.lastElementChild.getAttribute('style')).toEqual(expectedStyle); const buttonLeft = buttonElement.offsetLeft; @@ -2543,12 +2554,60 @@ describe('igxOverlay', () => { tick(); expect(overlay.hide).toHaveBeenCalledTimes(1); })); + + }); + describe('Integration tests p3 (IgniteUI components): ', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + imports: [IgxToggleModule, DynamicModule, NoopAnimationsModule, IgxComponentsModule], + declarations: DIRECTIVE_COMPONENTS + }).compileComponents(); + })); + it(`Should properly be able to render components that have no initial content (IgxCalendar, IgxAvatar)`, fakeAsync(() => { + const fixture = TestBed.createComponent(SimpleRefComponent); + fixture.detectChanges(); + const IGX_CALENDAR_CLASS = `.igx-calendar`; + const IGX_AVATAR_CLASS = `.igx-avatar`; + const IGX_DATEPICKER_CLASS = `.igx-date-picker`; + const overlay = fixture.componentInstance.overlay; + expect(document.querySelectorAll((IGX_CALENDAR_CLASS)).length).toEqual(0); + expect(document.querySelectorAll((IGX_AVATAR_CLASS)).length).toEqual(0); + expect(document.querySelectorAll((IGX_DATEPICKER_CLASS)).length).toEqual(0); + overlay.show(IgxCalendarComponent); + // EXPECT + fixture.detectChanges(); + expect(document.querySelectorAll((IGX_CALENDAR_CLASS)).length).toEqual(1); + overlay.hideAll(); + tick(); + fixture.detectChanges(); + expect(document.querySelectorAll((IGX_CALENDAR_CLASS)).length).toEqual(0); + // Expect + overlay.show(IgxAvatarComponent); + fixture.detectChanges(); + expect(document.querySelectorAll((IGX_AVATAR_CLASS)).length).toEqual(1); + // Expect + overlay.hideAll(); + tick(); + fixture.detectChanges(); + expect(document.querySelectorAll((IGX_AVATAR_CLASS)).length).toEqual(0); + overlay.show(IgxDatePickerComponent); + fixture.detectChanges(); + expect(document.querySelectorAll((IGX_DATEPICKER_CLASS)).length).toEqual(1); + overlay.hideAll(); + tick(); + fixture.detectChanges(); + expect(document.querySelectorAll((IGX_DATEPICKER_CLASS)).length).toEqual(0); + // Expect + })); }); }); @Component({ template: '
' }) -export class SimpleDynamicComponent { } +export class SimpleDynamicComponent { + @HostBinding('style.display') + public hostDisplay = 'block'; +} @Component({ template: '
' @@ -2563,7 +2622,10 @@ export class SimpleRefComponent { @Component({ template: '
' }) -export class SimpleBigSizeComponent { } +export class SimpleBigSizeComponent { + @HostBinding('style.display') + public hostDisplay = 'block'; +} @Component({ template: ` @@ -2808,6 +2870,12 @@ const DYNAMIC_COMPONENTS = [ FlexContainerComponent ]; +const IgniteUIComponents = [ + IgxCalendarComponent, + IgxAvatarComponent, + IgxDatePickerComponent +]; + const DIRECTIVE_COMPONENTS = [ SimpleDynamicWithDirectiveComponent ]; @@ -2819,3 +2887,10 @@ const DIRECTIVE_COMPONENTS = [ entryComponents: [DYNAMIC_COMPONENTS] }) export class DynamicModule { } + +@NgModule({ + imports: [IgxCalendarModule, IgxAvatarModule, IgxDatePickerModule], + entryComponents: IgniteUIComponents +}) +export class IgxComponentsModule { +} From 0c4603646aebdbefa775d46c8154791149562d5e Mon Sep 17 00:00:00 2001 From: ViktorSlavov Date: Fri, 23 Nov 2018 19:21:28 +0200 Subject: [PATCH 3/5] test(igxOverlay): fix failing tests, call CDR after component attached, #3131 --- .../src/lib/services/overlay/overlay.spec.ts | 29 +++++++++++++------ .../src/lib/services/overlay/overlay.ts | 3 ++ 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/projects/igniteui-angular/src/lib/services/overlay/overlay.spec.ts b/projects/igniteui-angular/src/lib/services/overlay/overlay.spec.ts index e41bde98089..54bdacf30b7 100644 --- a/projects/igniteui-angular/src/lib/services/overlay/overlay.spec.ts +++ b/projects/igniteui-angular/src/lib/services/overlay/overlay.spec.ts @@ -964,12 +964,8 @@ describe('igxOverlay', () => { fixture.detectChanges(); let hasScrollbar = document.body.scrollHeight > document.body.clientHeight; expect(hasScrollbar).toBeFalsy(); - fixture.componentInstance.overlay.onOpening.subscribe(e => { - fixture.detectChanges(); - }); fixture.componentInstance.overlay.show(SimpleBigSizeComponent); tick(); - fixture.componentInstance.overlay.onOpening.unsubscribe(); const overlayDiv = document.getElementsByClassName(CLASS_OVERLAY_MAIN)[0]; const overlayWrapper = overlayDiv.children[0]; const componentEl = overlayWrapper.children[0].children[0].lastElementChild; // Wrapped in 'NG-COMPONENT' @@ -1718,8 +1714,10 @@ describe('igxOverlay', () => { closeOnOutsideClick: false }; fix.componentInstance.overlay.show(SimpleDynamicComponent, overlaySettings); + fix.detectChanges(); tick(); fix.componentInstance.overlay.show(SimpleDynamicComponent, overlaySettings); + fix.detectChanges(); tick(); const buttonRect = button.getBoundingClientRect(); const overlayWrapper_1 = document.getElementsByClassName(CLASS_OVERLAY_WRAPPER)[0]; @@ -2012,9 +2010,6 @@ describe('igxOverlay', () => { declarations: DIRECTIVE_COMPONENTS }); })); - afterAll(async(() => { - TestBed.resetTestingModule(); - })); // If adding a component near the visible window borders(left,right,up,down) // it should be partially hidden and based on scroll strategy: it('Should not allow scrolling with scroll strategy is not passed.', fakeAsync( async () => { @@ -2240,9 +2235,9 @@ describe('igxOverlay', () => { fix.detectChanges(); const wrappers = document.getElementsByClassName(CLASS_OVERLAY_CONTENT); - const wrapperContent = wrappers[wrappers.length - 1].lastElementChild as HTMLElement; // wrapped in NG-COMPONENT + const wrapperContent = wrappers[wrappers.length - 1] as HTMLElement; const expectedStyle = 'position: absolute; width:100px; height: 100px; background-color: red'; - expect(wrapperContent.lastElementChild.getAttribute('style')).toEqual(expectedStyle); + expect(wrapperContent.lastElementChild.lastElementChild.getAttribute('style')).toEqual(expectedStyle); const buttonLeft = buttonElement.offsetLeft; const buttonTop = buttonElement.offsetTop; const expectedLeft = buttonLeft + buttonElement.clientWidth; // To the right of the button @@ -2557,6 +2552,9 @@ describe('igxOverlay', () => { }); describe('Integration tests p3 (IgniteUI components): ', () => { + beforeAll(() => { + TestBed.resetTestingModule(); + }); beforeEach(async(() => { TestBed.configureTestingModule({ imports: [IgxToggleModule, DynamicModule, NoopAnimationsModule, IgxComponentsModule], @@ -2602,11 +2600,18 @@ describe('igxOverlay', () => { }); }); @Component({ + // tslint:disable-next-line:component-selector + selector: `simple-dynamic-component`, template: '
' }) export class SimpleDynamicComponent { @HostBinding('style.display') public hostDisplay = 'block'; + @HostBinding('style.position') + public hostPosition = 'absolute'; + @HostBinding('style.width') + @HostBinding('style.height') + public hostDimenstions = '100px'; } @Component({ @@ -2625,6 +2630,12 @@ export class SimpleRefComponent { export class SimpleBigSizeComponent { @HostBinding('style.display') public hostDisplay = 'block'; + @HostBinding('style.position') + public hostPosition = 'absolute'; + @HostBinding('style.height') + public hostHeight = '1000px'; + @HostBinding('style.width') + public hostWidth = '3000px'; } @Component({ diff --git a/projects/igniteui-angular/src/lib/services/overlay/overlay.ts b/projects/igniteui-angular/src/lib/services/overlay/overlay.ts index f864fcba953..4fa58e6c4f2 100644 --- a/projects/igniteui-angular/src/lib/services/overlay/overlay.ts +++ b/projects/igniteui-angular/src/lib/services/overlay/overlay.ts @@ -159,6 +159,9 @@ export class IgxOverlayService implements OnDestroy { info.hook = this.placeElementHook(info.elementRef.nativeElement); this.moveElementToOverlay(info); + if (info.componentRef) { + info.componentRef.changeDetectorRef.detectChanges(); + } this.updateSize(info); this._overlayInfos.push(info); From 95246882ad6dbe5356467587f19a9731e8f467f5 Mon Sep 17 00:00:00 2001 From: Damyan Petev Date: Mon, 26 Nov 2018 20:05:31 +0200 Subject: [PATCH 4/5] docs(*): update CHANGELOG.md with 6.2.1 changes (cherry picked from commit 54e14310c55ac8eea30fa9ac5386d72454cb7754) # Conflicts: # CHANGELOG.md --- CHANGELOG.md | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c3aaad6f5d..e6e86aed6d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,15 +6,55 @@ All notable changes for each version of this project will be documented in this - Updated package dependencies to Angular 7 ([#3000](https://github.com/IgniteUI/igniteui-angular/pull/3000)) ## 6.2.1 -- `igx-drop-down`: - - Added a new property `maxHeight`, defining the max height of the drop down. +### Features +- `igxGrid`, `igxChip`: Add display density DI token to igxGrid and igxChip ([#2804](https://github.com/IgniteUI/igniteui-angular/issues/2804)) +- `igxGrid` + - Quick filter auto close ([#2979](https://github.com/IgniteUI/igniteui-angular/issues/2979)) + - Group By: Added title to chip in Group By area ([#3035](https://github.com/IgniteUI/igniteui-angular/issues/3035)) + - Improve UX for boolean and date columns, ([#3092](https://github.com/IgniteUI/igniteui-angular/issues/3092)) +- `igxCombo`: + - Added a new input property - `displayDensity`. It allows configuring the `displayDensity` of the combo's `value` and `search` inputs. (PR [#3007](https://github.com/IgniteUI/igniteui-angular/pull/3007)) +- `igxDropDown` + - Added a new property `maxHeight`, defining the max height of the drop down. ([#3001](https://github.com/IgniteUI/igniteui-angular/issues/3001)) +- Added migrations for Sass theme properties changes in 6.2.0 ([#2994](https://github.com/IgniteUI/igniteui-angular/issues/2994)) - Themes - Introducing schemas for easier bootstrapping of component themes. - **Breaking change** removed $variant from `igx-checkbox-theme`, `igx-ripple-theme`, `igx-switch-theme`, `igx-input-group-theme`, `igx-slider-theme`, and `igx-tooltip-theme`. Use the `$schema` prop, now available on all component themes to change the look for a specific theme. See the [Theming](https://www.infragistics.com/products/ignite-ui-angular/angular/components/themes/schemas.html) documentation to learn more. -- `igx-combo`: - - Added a new input property - `displayDensity`. It allows configuring the `displayDensity` of the combo's `value` and `search` inputs. + + +### Bug fixes + +- `igxGrid` + - Filtering condition icon is not updated for boolean columns ([#2936](https://github.com/IgniteUI/igniteui-angular/issues/2936)) + - Batch editing: Updating a cell with a value that evaluates to false does not mark it as dirty ([#2940](https://github.com/IgniteUI/igniteui-angular/issues/2940)) + - Filtering input accepts value from calendar for unary conditions ([#2937](https://github.com/IgniteUI/igniteui-angular/issues/2937)) + - When a number filter's value is deleted the grid is not refreshed ([#2945](https://github.com/IgniteUI/igniteui-angular/issues/2945)) + - Improve keyboard navigation in filtering ([#2951](https://github.com/IgniteUI/igniteui-angular/issues/2951), [#2941](https://github.com/IgniteUI/igniteui-angular/issues/2941)) + - Group By: Alt+ Arrow left/Right keys should not toggle the group row ([#2950](https://github.com/IgniteUI/igniteui-angular/issues/2950)) + - Multi Column Header can be grouped ([#2944](https://github.com/IgniteUI/igniteui-angular/issues/2944)) + - Group By: groupsRecords is not updated yet at the time of onGroupingDone event. ([#2967](https://github.com/IgniteUI/igniteui-angular/issues/2967)) + - Paging: Blank space in rows area after vertical scrolling and navigating to next page ([#2957](https://github.com/IgniteUI/igniteui-angular/issues/2957)) + - When date or boolean cell is in edit mode and press arrowUp or arrowDown key the page is scrolled ([#2507](https://github.com/IgniteUI/igniteui-angular/issues/2507)) + - When deleting a row the Row Editing dialog should be closed ([#2977](https://github.com/IgniteUI/igniteui-angular/issues/2977)) + - Group header with columns which width is defined as number throws an exception ([#3020](https://github.com/IgniteUI/igniteui-angular/issues/3020)) + - Refactor header and filter cell components, Closes [#2972](https://github.com/IgniteUI/igniteui-angular/issues/2972), [#2926](https://github.com/IgniteUI/igniteui-angular/issues/2926), [#2923](https://github.com/IgniteUI/igniteui-angular/issues/2923), [#2917](https://github.com/IgniteUI/igniteui-angular/issues/2917), [#2783](https://github.com/IgniteUI/igniteui-angular/issues/2783), [#3027](https://github.com/IgniteUI/igniteui-angular/issues/3027), [#2938](https://github.com/IgniteUI/igniteui-angular/issues/2938) + - Filter's UI dropdown is hidden under the bottom level of the grid ([#2928](https://github.com/IgniteUI/igniteui-angular/issues/2928)) + - Cell is not editable on iOS ([#2538](https://github.com/IgniteUI/igniteui-angular/issues/2538)) +- `IgxTreeGrid` + - Cell selection wrong behavior when collapsing rows ([#2935](https://github.com/IgniteUI/igniteui-angular/issues/2935)) +- `igxCombo` + - Keyboard doesn't scroll virtualized items ([#2999](https://github.com/IgniteUI/igniteui-angular/issues/2999)) +- `igxDatePicker` + - Error emitting when value property is initialized with empty string. ([#3021](https://github.com/IgniteUI/igniteui-angular/issues/3021)) +- `igxOverlay` + - Drop-down flickers in IE and EDGE ([#2867](https://github.com/IgniteUI/igniteui-angular/issues/2867)) +- `igxTabs` + - Tabs don't not handle width change ([#3030](https://github.com/IgniteUI/igniteui-angular/issues/3030)) +- `igxCalendar` + - make all css class names unique ([#2287](https://github.com/IgniteUI/igniteui-angular/issues/2287)) - Fixed runtime errors when using the package in applications targeting es2015(es6) and newer ([#3011](https://github.com/IgniteUI/igniteui-angular/pull/3011)) + ## 6.2.0 - Updated typography following the Material guidelines. Type system is now also optional and can be applied via class to the desired containers. [#2112](https://github.com/IgniteUI/igniteui-angular/pull/2112) - **Breaking change:** Applications using Ignite UI for Angular now require the `igx-typography` class to be applied on wrapping element, like the body element for instance. From 6566e2f92577389fcd1c633b9b32c272b63fc459 Mon Sep 17 00:00:00 2001 From: Damyan Petev Date: Mon, 26 Nov 2018 20:18:18 +0200 Subject: [PATCH 5/5] docs(*): Add dark theme to 7.0.0 changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6e86aed6d9..a5e9f17f66f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ All notable changes for each version of this project will be documented in this ## 7.0.0 - Updated package dependencies to Angular 7 ([#3000](https://github.com/IgniteUI/igniteui-angular/pull/3000)) +- Themes: Add dark schemas and mixins (PR [#3025](https://github.com/IgniteUI/igniteui-angular/pull/3025)) ## 6.2.1 ### Features