igniteui-angular 20.1.19 → 20.1.20

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.
@@ -42303,7 +42303,7 @@ class IgxDatePickerComponent extends PickerBaseDirective {
42303
42303
  return Object.assign({}, this._dropDownOverlaySettings, this.overlaySettings);
42304
42304
  }
42305
42305
  get inputGroupElement() {
42306
- return this.inputGroup?.element.nativeElement;
42306
+ return this.inputGroup?.element.nativeElement.querySelector('.igx-input-group__bundle');
42307
42307
  }
42308
42308
  get dateValue() {
42309
42309
  return this._dateValue;
@@ -49627,6 +49627,9 @@ class IgxTimePickerComponent extends PickerBaseDirective {
49627
49627
  get dropDownOverlaySettings() {
49628
49628
  return Object.assign({}, this._defaultDropDownOverlaySettings, this.overlaySettings);
49629
49629
  }
49630
+ get inputGroupElement() {
49631
+ return this.inputGroup?.element.nativeElement.querySelector('.igx-input-group__bundle');
49632
+ }
49630
49633
  /**
49631
49634
  * The currently selected value / time from the drop-down/dialog
49632
49635
  *
@@ -49828,7 +49831,6 @@ class IgxTimePickerComponent extends PickerBaseDirective {
49828
49831
  outlet: this.outlet
49829
49832
  };
49830
49833
  this._defaultDropDownOverlaySettings = {
49831
- target: this.element.nativeElement,
49832
49834
  modal: false,
49833
49835
  closeOnOutsideClick: true,
49834
49836
  scrollStrategy: new AbsoluteScrollStrategy(),
@@ -49976,6 +49978,9 @@ class IgxTimePickerComponent extends PickerBaseDirective {
49976
49978
  const overlaySettings = Object.assign({}, this.isDropdown
49977
49979
  ? this.dropDownOverlaySettings
49978
49980
  : this.dialogOverlaySettings, settings);
49981
+ if (this.isDropdown && this.inputGroupElement) {
49982
+ overlaySettings.target = this.inputGroupElement;
49983
+ }
49979
49984
  this.toggleRef.open(overlaySettings);
49980
49985
  }
49981
49986
  /**
@@ -53402,6 +53407,7 @@ class IgxExcelStyleDefaultExpressionComponent {
53402
53407
  onConditionsChanged(eventArgs) {
53403
53408
  const value = eventArgs.newSelection.value;
53404
53409
  this.expressionUI.expression.condition = this.getCondition(value);
53410
+ this.expressionUI.expression.conditionName = value;
53405
53411
  this.focus();
53406
53412
  }
53407
53413
  getCondition(value) {
@@ -61896,6 +61902,7 @@ class IgxGridFilteringRowComponent {
61896
61902
  onConditionsChanged(eventArgs) {
61897
61903
  const value = eventArgs.newSelection.value;
61898
61904
  this.expression.condition = this.getCondition(value);
61905
+ this.expression.conditionName = value;
61899
61906
  if (this.expression.condition.isUnary) {
61900
61907
  // update grid's filtering on the next cycle to ensure the drop-down is closed
61901
61908
  // if the drop-down is not closed this event handler will be invoked multiple times
@@ -71328,7 +71335,13 @@ class IgxGridBaseDirective {
71328
71335
  const possibleWidth = this.getPossibleColumnWidth();
71329
71336
  if (possibleWidth === "0px") {
71330
71337
  // all columns - hidden
71331
- this._columnWidth = possibleWidth;
71338
+ // Do not update _columnWidth to preserve valid column widths for when columns are unhidden
71339
+ // Only update column defaultWidth if _columnWidth is already set and not '0px'
71340
+ if (this._columnWidth && this._columnWidth !== '0px') {
71341
+ this._updateColumnDefaultWidths();
71342
+ }
71343
+ this.resetCachedWidths();
71344
+ return;
71332
71345
  }
71333
71346
  else if (this.width !== null) {
71334
71347
  this._columnWidth = Math.max(parseFloat(possibleWidth), this.minColumnWidth) + 'px';
@@ -71337,8 +71350,12 @@ class IgxGridBaseDirective {
71337
71350
  this._columnWidth = this.minColumnWidth + 'px';
71338
71351
  }
71339
71352
  }
71353
+ this._updateColumnDefaultWidths();
71354
+ this.resetCachedWidths();
71355
+ }
71356
+ _updateColumnDefaultWidths() {
71340
71357
  this._columns.forEach((column) => {
71341
- if (this.hasColumnLayouts && parseFloat(this._columnWidth)) {
71358
+ if (this.hasColumnLayouts) {
71342
71359
  const columnWidthCombined = parseFloat(this._columnWidth) * (column.colEnd ? column.colEnd - column.colStart : 1);
71343
71360
  column.defaultWidth = columnWidthCombined + 'px';
71344
71361
  }
@@ -71347,7 +71364,6 @@ class IgxGridBaseDirective {
71347
71364
  column.resetCaches();
71348
71365
  }
71349
71366
  });
71350
- this.resetCachedWidths();
71351
71367
  }
71352
71368
  resetNotifyChanges() {
71353
71369
  this._cdrRequestRepaint = false;
@@ -82523,7 +82539,7 @@ class IgxGridStateBaseDirective {
82523
82539
  dataType: c.dataType,
82524
82540
  hasSummary: c.hasSummary,
82525
82541
  field: c.field,
82526
- width: c.width,
82542
+ width: (c.widthSetByUser || context.currGrid.columnWidthSetByUser) ? c.width : undefined,
82527
82543
  header: c.header,
82528
82544
  resizable: c.resizable,
82529
82545
  searchable: c.searchable,
@@ -82546,6 +82562,17 @@ class IgxGridStateBaseDirective {
82546
82562
  },
82547
82563
  restoreFeatureState: (context, state) => {
82548
82564
  const newColumns = [];
82565
+ // Helper to restore column state without auto-persisting widths
82566
+ const restoreColumnState = (column, colState) => {
82567
+ // Extract width to handle it separately
82568
+ const width = colState.width;
82569
+ delete colState.width;
82570
+ Object.assign(column, colState);
82571
+ // Only restore width if it was explicitly set by the user (not undefined)
82572
+ if (width !== undefined) {
82573
+ column.width = width;
82574
+ }
82575
+ };
82549
82576
  state.forEach((colState) => {
82550
82577
  const hasColumnGroup = colState.columnGroup;
82551
82578
  const hasColumnLayouts = colState.columnLayout;
@@ -82563,7 +82590,7 @@ class IgxGridStateBaseDirective {
82563
82590
  else {
82564
82591
  ref1.children.reset([]);
82565
82592
  }
82566
- Object.assign(ref1, colState);
82593
+ restoreColumnState(ref1, colState);
82567
82594
  ref1.grid = context.currGrid;
82568
82595
  if (colState.parent || colState.parentKey) {
82569
82596
  const columnGroup = newColumns.find(e => e.columnGroup && (e.key ? e.key === colState.parentKey : e.header === ref1.parent));
@@ -82580,7 +82607,7 @@ class IgxGridStateBaseDirective {
82580
82607
  ref = component.instance;
82581
82608
  component.changeDetectorRef.detectChanges();
82582
82609
  }
82583
- Object.assign(ref, colState);
82610
+ restoreColumnState(ref, colState);
82584
82611
  ref.grid = context.currGrid;
82585
82612
  if (colState.parent || colState.parentKey) {
82586
82613
  const columnGroup = newColumns.find(e => e.columnGroup && (e.key ? e.key === colState.parentKey : e.header === ref.parent));
@@ -97897,10 +97924,14 @@ class IgxDateRangePickerComponent extends PickerBaseDirective {
97897
97924
  configPositionStrategy() {
97898
97925
  this._positionSettings = {
97899
97926
  openAnimation: fadeIn,
97900
- closeAnimation: fadeOut
97927
+ closeAnimation: fadeOut,
97928
+ offset: 1
97901
97929
  };
97902
97930
  this._dropDownOverlaySettings.positionStrategy = new AutoPositionStrategy(this._positionSettings);
97903
- this._dropDownOverlaySettings.target = this.element.nativeElement;
97931
+ const bundle = this.hasProjectedInputs
97932
+ ? this.projectedInputs.first?.nativeElement.querySelector('.igx-input-group__bundle')
97933
+ : this.element.nativeElement.querySelector('.igx-input-group__bundle');
97934
+ this._dropDownOverlaySettings.target = bundle || this.element.nativeElement;
97904
97935
  }
97905
97936
  configOverlaySettings() {
97906
97937
  if (this.overlaySettings !== null) {