igniteui-angular 20.1.8 → 20.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8056,7 +8056,13 @@ class IgxOverlayService {
8056
8056
  }
8057
8057
  }
8058
8058
  this.updateSize(info);
8059
+ const openAnimation = info.settings.positionStrategy.settings.openAnimation;
8060
+ const closeAnimation = info.settings.positionStrategy.settings.closeAnimation;
8059
8061
  info.settings.positionStrategy.position(info.elementRef.nativeElement.parentElement, { width: info.initialSize.width, height: info.initialSize.height }, this._document, true, info.settings.target);
8062
+ if (openAnimation !== info.settings.positionStrategy.settings.openAnimation ||
8063
+ closeAnimation !== info.settings.positionStrategy.settings.closeAnimation) {
8064
+ this.buildAnimationPlayers(info);
8065
+ }
8060
8066
  this.addModalClasses(info);
8061
8067
  if (info.settings.positionStrategy.settings.openAnimation) {
8062
8068
  // TODO: should we build players again. This was already done in attach!!!
@@ -20861,6 +20867,9 @@ class IgxToggleDirective {
20861
20867
  get hiddenClass() {
20862
20868
  return this.collapsed;
20863
20869
  }
20870
+ /**
20871
+ * @hidden
20872
+ */
20864
20873
  get hiddenWebkitClass() {
20865
20874
  const isSafari = this.platform?.isSafari;
20866
20875
  const browserVersion = this.platform?.browserVersion;
@@ -21000,6 +21009,14 @@ class IgxToggleDirective {
21000
21009
  return;
21001
21010
  }
21002
21011
  this._collapsed = false;
21012
+ // TODO: this is a workaround for the issue introduced by Angular's with Ivy renderer.
21013
+ // When calling detectChanges(), Angular marks the element for check, but does not update the classes
21014
+ // immediately, which causes the overlay to calculate incorrect dimensions of target element.
21015
+ // Overlay show should be called in the next tick to ensure the classes are updated and target element is measured correctly.
21016
+ // Note: across the codebase, each host binding should be checked and similar fix applied if needed!!!
21017
+ this.elementRef.nativeElement.className = this.elementRef.nativeElement.className.replace('igx-toggle--hidden', 'igx-toggle');
21018
+ this.elementRef.nativeElement.className = this.elementRef.nativeElement.className.replace('igx-toggle--hidden-webkit', 'igx-toggle');
21019
+ this.elementRef.nativeElement.removeAttribute('aria-hidden');
21003
21020
  this.cdr.detectChanges();
21004
21021
  if (!info) {
21005
21022
  this.unsubscribe();
@@ -21150,14 +21167,20 @@ class IgxToggleDirective {
21150
21167
  }
21151
21168
  }
21152
21169
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxToggleDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: IgxOverlayService }, { token: IgxNavigationService, optional: true }, { token: PlatformUtil, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
21153
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: IgxToggleDirective, isStandalone: true, selector: "[igxToggle]", inputs: { id: "id" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing", appended: "appended" }, host: { properties: { "class.igx-toggle--hidden": "this.hiddenClass", "attr.aria-hidden": "this.hiddenClass", "class.igx-toggle--hidden-webkit": "this.hiddenWebkitClass", "class.igx-toggle": "this.defaultClass" } }, exportAs: ["toggle"], ngImport: i0 }); }
21170
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.6", type: IgxToggleDirective, isStandalone: true, selector: "[igxToggle]", inputs: { id: "id" }, outputs: { opened: "opened", opening: "opening", closed: "closed", closing: "closing", appended: "appended" }, host: { properties: { "class.igx-toggle--hidden": "hiddenClass", "attr.aria-hidden": "hiddenClass", "class.igx-toggle--hidden-webkit": "hiddenWebkitClass", "class.igx-toggle": "defaultClass" } }, exportAs: ["toggle"], ngImport: i0 }); }
21154
21171
  }
21155
21172
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxToggleDirective, decorators: [{
21156
21173
  type: Directive,
21157
21174
  args: [{
21158
21175
  exportAs: 'toggle',
21159
21176
  selector: '[igxToggle]',
21160
- standalone: true
21177
+ standalone: true,
21178
+ host: {
21179
+ '[class.igx-toggle--hidden]': 'hiddenClass',
21180
+ '[attr.aria-hidden]': 'hiddenClass',
21181
+ '[class.igx-toggle--hidden-webkit]': 'hiddenWebkitClass',
21182
+ '[class.igx-toggle]': 'defaultClass'
21183
+ }
21161
21184
  }]
21162
21185
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: IgxOverlayService, decorators: [{
21163
21186
  type: Inject,
@@ -21178,18 +21201,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImpor
21178
21201
  type: Output
21179
21202
  }], id: [{
21180
21203
  type: Input
21181
- }], hiddenClass: [{
21182
- type: HostBinding,
21183
- args: ['class.igx-toggle--hidden']
21184
- }, {
21185
- type: HostBinding,
21186
- args: ['attr.aria-hidden']
21187
- }], hiddenWebkitClass: [{
21188
- type: HostBinding,
21189
- args: ['class.igx-toggle--hidden-webkit']
21190
- }], defaultClass: [{
21191
- type: HostBinding,
21192
- args: ['class.igx-toggle']
21193
21204
  }] } });
21194
21205
  class IgxToggleActionDirective {
21195
21206
  /**
@@ -76255,7 +76266,7 @@ class IgxGridComponent extends IgxGridBaseDirective {
76255
76266
  if (!this._init) {
76256
76267
  this.validation.updateAll(this._data);
76257
76268
  }
76258
- if (this.autoGenerate && this._data.length > 0 && this.shouldRecreateColumns(oldData, this._data)) {
76269
+ if (this.autoGenerate && this._data.length > 0 && this.shouldRecreateColumns(oldData, this._data) && this.gridAPI.grid) {
76259
76270
  this.setupColumns();
76260
76271
  }
76261
76272
  this.cdr.markForCheck();
@@ -83195,7 +83206,7 @@ class BaseToolbarDirective {
83195
83206
  this.columnToggle = new EventEmitter();
83196
83207
  this.$destroy = new Subject();
83197
83208
  this._overlaySettings = {
83198
- positionStrategy: new ConnectedPositioningStrategy({
83209
+ positionStrategy: new AutoPositionStrategy({
83199
83210
  horizontalDirection: HorizontalAlignment.Left,
83200
83211
  horizontalStartPoint: HorizontalAlignment.Right,
83201
83212
  verticalDirection: VerticalAlignment.Bottom,
@@ -89377,7 +89388,7 @@ class IgxHierarchicalGridComponent extends IgxHierarchicalGridBaseDirective {
89377
89388
  if (!this._init) {
89378
89389
  this.validation.updateAll(this._data);
89379
89390
  }
89380
- if (this.autoGenerate && this._data.length > 0 && this.shouldRecreateColumns(oldData, this._data)) {
89391
+ if (this.autoGenerate && this._data.length > 0 && this.shouldRecreateColumns(oldData, this._data) && this.gridAPI.grid) {
89381
89392
  this.setupColumns();
89382
89393
  this.reflow();
89383
89394
  }