igniteui-angular 21.2.13 → 21.2.15

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.
@@ -4365,8 +4365,8 @@ class IgxForOfDirective extends IgxForOfToken {
4365
4365
  const dimension = this.igxForScrollOrientation === 'horizontal' ?
4366
4366
  this.igxForSizePropName : 'height';
4367
4367
  const nodeSize = dimension === 'height' ?
4368
- rNode.clientHeight + this.getMargin(rNode, dimension) :
4369
- rNode.clientWidth + this.getMargin(rNode, dimension);
4368
+ rNode.clientHeight + this.getBorder(rNode, dimension) + this.getMargin(rNode, dimension) :
4369
+ rNode.clientWidth + this.getBorder(rNode, dimension) + this.getMargin(rNode, dimension);
4370
4370
  return nodeSize;
4371
4371
  }
4372
4372
  /**
@@ -5032,6 +5032,15 @@ class IgxForOfDirective extends IgxForOfToken {
5032
5032
  return parseFloat(styles['marginLeft']) +
5033
5033
  parseFloat(styles['marginRight']) || 0;
5034
5034
  }
5035
+ getBorder(node, dimension) {
5036
+ const styles = window.getComputedStyle(node);
5037
+ if (dimension === 'height') {
5038
+ return (parseFloat(styles['borderTopWidth']) || 0) +
5039
+ (parseFloat(styles['borderBottomWidth']) || 0);
5040
+ }
5041
+ return (parseFloat(styles['borderLeftWidth']) || 0) +
5042
+ (parseFloat(styles['borderRightWidth']) || 0);
5043
+ }
5035
5044
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: IgxForOfDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
5036
5045
  static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.9", type: IgxForOfDirective, isStandalone: true, selector: "[igxFor][igxForOf]", inputs: { igxForOf: "igxForOf", igxForSizePropName: "igxForSizePropName", igxForScrollOrientation: "igxForScrollOrientation", igxForScrollContainer: "igxForScrollContainer", igxForContainerSize: "igxForContainerSize", igxForInitialChunkSize: "igxForInitialChunkSize", igxForItemSize: "igxForItemSize", igxForTotalItemCount: "igxForTotalItemCount", igxForTrackBy: "igxForTrackBy" }, outputs: { chunkLoad: "chunkLoad", scrollbarVisibilityChanged: "scrollbarVisibilityChanged", chunkSizeChange: "chunkSizeChange", contentSizeChange: "contentSizeChange", dataChanged: "dataChanged", beforeViewDestroyed: "beforeViewDestroyed", chunkPreload: "chunkPreload" }, providers: [
5037
5046
  IgxForOfScrollSyncService,
@@ -5153,7 +5162,10 @@ class IgxGridForOfDirective extends IgxForOfDirective {
5153
5162
  super.ngOnInit();
5154
5163
  this.removeScrollEventListeners();
5155
5164
  const destructor = takeUntil(this.destroy$);
5156
- this.viewObserver = new (getResizeObserver())((entries) => this.viewResizeNotify.next(entries));
5165
+ const resizeObserver = getResizeObserver();
5166
+ if (resizeObserver) {
5167
+ this.viewObserver = new resizeObserver((entries) => this.viewResizeNotify.next(entries));
5168
+ }
5157
5169
  this.viewResizeNotify.pipe(filter(() => this.igxForContainerSize && this.igxForOf && this.igxForOf.length > 0), destructor).subscribe((entries) => this._zone.runTask(() => this.updateViewSizes(entries)));
5158
5170
  }
5159
5171
  ngOnChanges(changes) {
@@ -8077,6 +8089,7 @@ function parseTriggers(triggers) {
8077
8089
  return new Set((triggers ?? '').split(TooltipRegexes.triggers).filter((s) => s.trim()));
8078
8090
  }
8079
8091
 
8092
+ const HOVER_SHOW_TRIGGERS = new Set(['mouseenter', 'mouseover', 'pointerenter', 'pointerover']);
8080
8093
  /**
8081
8094
  * **Ignite UI for Angular Tooltip Target** -
8082
8095
  * [Documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/tooltip)
@@ -8543,8 +8556,12 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
8543
8556
  this._evaluateStickyState();
8544
8557
  this._pendingShowTrigger = triggerEvent?.type ?? null;
8545
8558
  this.target.timeoutId = setTimeout(() => {
8546
- // Call open() of IgxTooltipDirective
8559
+ const isHoverTrigger = this._pendingShowTrigger && HOVER_SHOW_TRIGGERS.has(this._pendingShowTrigger);
8547
8560
  this._pendingShowTrigger = null;
8561
+ this.target.timeoutId = null;
8562
+ if (isHoverTrigger && !this.nativeElement.matches(':hover')) {
8563
+ return;
8564
+ }
8548
8565
  this.target.open(this._mergedOverlaySettings);
8549
8566
  }, withDelay ? this.showDelay : 0);
8550
8567
  }