igniteui-angular 20.1.5 → 20.1.6

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.
Files changed (40) hide show
  1. package/fesm2022/igniteui-angular.mjs +60 -34
  2. package/fesm2022/igniteui-angular.mjs.map +1 -1
  3. package/index.d.ts +19 -9
  4. package/lib/core/styles/components/action-strip/_action-strip-theme.scss +0 -58
  5. package/lib/core/styles/components/carousel/_carousel-theme.scss +12 -11
  6. package/lib/core/styles/components/checkbox/_checkbox-theme.scss +4 -10
  7. package/lib/core/styles/components/combo/_combo-theme.scss +23 -1
  8. package/lib/core/styles/components/date-range-picker/_date-range-picker-theme.scss +9 -4
  9. package/lib/core/styles/components/grid/_pivot-data-selector-theme.scss +0 -25
  10. package/lib/core/styles/components/input/_file-input-theme.scss +0 -82
  11. package/lib/core/styles/components/input/_input-group-theme.scss +70 -70
  12. package/lib/core/styles/components/time-picker/_time-picker-theme.scss +15 -1
  13. package/lib/core/styles/typography/_bootstrap.scss +3 -1
  14. package/package.json +2 -2
  15. package/styles/igniteui-angular-dark.css +1 -1
  16. package/styles/igniteui-angular.css +1 -1
  17. package/styles/igniteui-bootstrap-dark.css +1 -1
  18. package/styles/igniteui-bootstrap-light.css +1 -1
  19. package/styles/igniteui-dark-green.css +1 -1
  20. package/styles/igniteui-fluent-dark-excel.css +1 -1
  21. package/styles/igniteui-fluent-dark-word.css +1 -1
  22. package/styles/igniteui-fluent-dark.css +1 -1
  23. package/styles/igniteui-fluent-light-excel.css +1 -1
  24. package/styles/igniteui-fluent-light-word.css +1 -1
  25. package/styles/igniteui-fluent-light.css +1 -1
  26. package/styles/igniteui-indigo-dark.css +1 -1
  27. package/styles/igniteui-indigo-light.css +1 -1
  28. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  29. package/styles/maps/igniteui-angular.css.map +1 -1
  30. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  31. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  32. package/styles/maps/igniteui-dark-green.css.map +1 -1
  33. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  34. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  35. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  36. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  37. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  38. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  39. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  40. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -1059,6 +1059,9 @@ class IgxSorting {
1059
1059
  prepareExpressions(expressions, grid) {
1060
1060
  const multipleSortingExpressions = [];
1061
1061
  for (const expr of expressions) {
1062
+ if (expr.dir === SortingDirection.None) {
1063
+ continue;
1064
+ }
1062
1065
  if (!expr.strategy) {
1063
1066
  expr.strategy = DefaultSortingStrategy.instance();
1064
1067
  }
@@ -10239,6 +10242,9 @@ class IgxInputDirective {
10239
10242
  const elTag = this.nativeElement.tagName.toLowerCase();
10240
10243
  if (elTag === 'textarea') {
10241
10244
  this.isTextArea = true;
10245
+ if (this.nativeElement.getAttribute('rows') === null) {
10246
+ this.renderer.setAttribute(this.nativeElement, 'rows', '3');
10247
+ }
10242
10248
  }
10243
10249
  else {
10244
10250
  this.isInput = true;
@@ -21364,6 +21370,8 @@ class IgxTooltipDirective extends IgxToggleDirective {
21364
21370
  this._role = 'tooltip';
21365
21371
  this._destroy$ = new Subject();
21366
21372
  this._document = inject(DOCUMENT);
21373
+ this._renderer = inject(Renderer2);
21374
+ this._platformUtil = inject(PlatformUtil);
21367
21375
  this.onDocumentTouchStart = this.onDocumentTouchStart.bind(this);
21368
21376
  this.opening.pipe(takeUntil$1(this._destroy$)).subscribe(() => {
21369
21377
  this._document.addEventListener('touchstart', this.onDocumentTouchStart, { passive: true });
@@ -21371,7 +21379,12 @@ class IgxTooltipDirective extends IgxToggleDirective {
21371
21379
  this.closed.pipe(takeUntil$1(this._destroy$)).subscribe(() => {
21372
21380
  this._document.removeEventListener('touchstart', this.onDocumentTouchStart);
21373
21381
  });
21374
- this._createArrow();
21382
+ }
21383
+ /** @hidden */
21384
+ ngAfterViewInit() {
21385
+ if (this._platformUtil.isBrowser) {
21386
+ this._createArrow();
21387
+ }
21375
21388
  }
21376
21389
  /** @hidden */
21377
21390
  ngOnDestroy() {
@@ -21379,7 +21392,9 @@ class IgxTooltipDirective extends IgxToggleDirective {
21379
21392
  this._document.removeEventListener('touchstart', this.onDocumentTouchStart);
21380
21393
  this._destroy$.next(true);
21381
21394
  this._destroy$.complete();
21382
- this._removeArrow();
21395
+ if (this.arrow) {
21396
+ this._removeArrow();
21397
+ }
21383
21398
  }
21384
21399
  /**
21385
21400
  * @hidden
@@ -21395,35 +21410,48 @@ class IgxTooltipDirective extends IgxToggleDirective {
21395
21410
  }
21396
21411
  /**
21397
21412
  * If there is an animation in progress, this method will reset it to its initial state.
21398
- * Optional `force` parameter that ends the animation.
21413
+ * Allows hovering over the tooltip while an open/close animation is running.
21414
+ * Stops the animation and immediately shows the tooltip.
21399
21415
  *
21400
21416
  * @hidden
21401
- * @param force if set to `true`, the animation will be ended.
21402
21417
  */
21403
- stopAnimations(force = false) {
21418
+ stopAnimations() {
21404
21419
  const info = this.overlayService.getOverlayById(this._overlayId);
21405
21420
  if (!info)
21406
21421
  return;
21407
21422
  if (info.openAnimationPlayer) {
21408
21423
  info.openAnimationPlayer.reset();
21409
- if (force) {
21410
- info.openAnimationPlayer.finish();
21411
- info.openAnimationPlayer = null;
21412
- }
21413
21424
  }
21414
21425
  if (info.closeAnimationPlayer) {
21415
21426
  info.closeAnimationPlayer.reset();
21416
- if (force) {
21417
- info.closeAnimationPlayer.finish();
21418
- info.closeAnimationPlayer = null;
21419
- }
21427
+ }
21428
+ }
21429
+ /**
21430
+ * If there is a close animation in progress, this method will end it.
21431
+ * If there is no close animation in progress, this method will close the tooltip with no animation.
21432
+ *
21433
+ * @param overlaySettings settings to use for closing the tooltip
21434
+ * @hidden
21435
+ */
21436
+ forceClose(overlaySettings) {
21437
+ const info = this.overlayService.getOverlayById(this._overlayId);
21438
+ if (info && info.closeAnimationPlayer) {
21439
+ info.closeAnimationPlayer.finish();
21440
+ info.closeAnimationPlayer.reset();
21441
+ info.closeAnimationPlayer = null;
21442
+ }
21443
+ else if (!this.collapsed) {
21444
+ const animation = overlaySettings.positionStrategy.settings.closeAnimation;
21445
+ overlaySettings.positionStrategy.settings.closeAnimation = null;
21446
+ this.close();
21447
+ overlaySettings.positionStrategy.settings.closeAnimation = animation;
21420
21448
  }
21421
21449
  }
21422
21450
  _createArrow() {
21423
- this._arrowEl = document.createElement('span');
21424
- this._arrowEl.style.position = 'absolute';
21425
- this._arrowEl.setAttribute('data-arrow', 'true');
21426
- this.element.appendChild(this._arrowEl);
21451
+ this._arrowEl = this._renderer.createElement('span');
21452
+ this._renderer.setStyle(this._arrowEl, 'position', 'absolute');
21453
+ this._renderer.setAttribute(this._arrowEl, 'data-arrow', 'true');
21454
+ this._renderer.appendChild(this.element, this._arrowEl);
21427
21455
  }
21428
21456
  _removeArrow() {
21429
21457
  this._arrowEl.remove();
@@ -21825,7 +21853,7 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
21825
21853
  * ```
21826
21854
  */
21827
21855
  set hasArrow(value) {
21828
- if (this.target) {
21856
+ if (this.target && this.target.arrow) {
21829
21857
  this.target.arrow.style.display = value ? '' : 'none';
21830
21858
  }
21831
21859
  this._hasArrow = value;
@@ -22111,14 +22139,6 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
22111
22139
  this._hideOnInteraction();
22112
22140
  }
22113
22141
  }
22114
- /**
22115
- * @hidden
22116
- */
22117
- ngOnChanges(changes) {
22118
- if (changes['hasArrow']) {
22119
- this.target.arrow.style.display = changes['hasArrow'].currentValue ? '' : 'none';
22120
- }
22121
- }
22122
22142
  /**
22123
22143
  * @hidden
22124
22144
  */
@@ -22139,6 +22159,14 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
22139
22159
  });
22140
22160
  this.nativeElement.addEventListener('touchstart', this.onTouchStart = this.onTouchStart.bind(this), { passive: true });
22141
22161
  }
22162
+ /**
22163
+ * @hidden
22164
+ */
22165
+ ngAfterViewInit() {
22166
+ if (this.target && this.target.arrow) {
22167
+ this.target.arrow.style.display = this.hasArrow ? '' : 'none';
22168
+ }
22169
+ }
22142
22170
  /**
22143
22171
  * @hidden
22144
22172
  */
@@ -22246,8 +22274,6 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
22246
22274
  }
22247
22275
  /**
22248
22276
  * Used when a single tooltip is used for multiple targets.
22249
- * If the tooltip is shown for one target and the user interacts with another target,
22250
- * the tooltip is instantly hidden for the first target.
22251
22277
  */
22252
22278
  _checkTooltipForMultipleTargets() {
22253
22279
  if (!this.target.tooltipTarget) {
@@ -22259,8 +22285,10 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
22259
22285
  if (this.target.tooltipTarget.sticky) {
22260
22286
  this.target.tooltipTarget._removeCloseButtonFromTooltip();
22261
22287
  }
22288
+ // If the tooltip is shown for one target and the user interacts with another target,
22289
+ // the tooltip is instantly hidden for the first target.
22262
22290
  clearTimeout(this.target.timeoutId);
22263
- this.target.stopAnimations(true);
22291
+ this.target.forceClose(this._mergedOverlaySettings);
22264
22292
  this.target.tooltipTarget = this;
22265
22293
  this._isForceClosed = true;
22266
22294
  }
@@ -22326,7 +22354,7 @@ class IgxTooltipTargetDirective extends IgxToggleActionDirective {
22326
22354
  }
22327
22355
  }
22328
22356
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxTooltipTargetDirective, deps: [{ token: i0.ElementRef }, { token: IgxNavigationService, optional: true }, { token: i0.ViewContainerRef }, { token: i0.Renderer2 }, { token: i0.EnvironmentInjector }], target: i0.ɵɵFactoryTarget.Directive }); }
22329
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.6", type: IgxTooltipTargetDirective, isStandalone: true, selector: "[igxTooltipTarget]", inputs: { showDelay: "showDelay", hideDelay: "hideDelay", hasArrow: "hasArrow", sticky: "sticky", closeTemplate: ["closeButtonTemplate", "closeTemplate"], positionSettings: "positionSettings", tooltipDisabled: ["tooltipDisabled", "tooltipDisabled", booleanAttribute], target: ["igxTooltipTarget", "target"], tooltip: "tooltip" }, outputs: { tooltipShow: "tooltipShow", tooltipHide: "tooltipHide" }, host: { listeners: { "click": "onClick()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, exportAs: ["tooltipTarget"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
22357
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "20.3.6", type: IgxTooltipTargetDirective, isStandalone: true, selector: "[igxTooltipTarget]", inputs: { showDelay: "showDelay", hideDelay: "hideDelay", hasArrow: "hasArrow", sticky: "sticky", closeTemplate: ["closeButtonTemplate", "closeTemplate"], positionSettings: "positionSettings", tooltipDisabled: ["tooltipDisabled", "tooltipDisabled", booleanAttribute], target: ["igxTooltipTarget", "target"], tooltip: "tooltip" }, outputs: { tooltipShow: "tooltipShow", tooltipHide: "tooltipHide" }, host: { listeners: { "click": "onClick()", "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, exportAs: ["tooltipTarget"], usesInheritance: true, ngImport: i0 }); }
22330
22358
  }
22331
22359
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxTooltipTargetDirective, decorators: [{
22332
22360
  type: Directive,
@@ -94674,12 +94702,10 @@ class IgxSplitterComponent {
94674
94702
  onMoveEnd(delta) {
94675
94703
  let [paneSize, siblingSize] = this.calcNewSizes(delta);
94676
94704
  if (paneSize + siblingSize > this.getTotalSize() && delta < 0) {
94677
- paneSize = this.getTotalSize();
94678
- siblingSize = 0;
94705
+ siblingSize = this.getTotalSize() - paneSize;
94679
94706
  }
94680
94707
  else if (paneSize + siblingSize > this.getTotalSize() && delta > 0) {
94681
- paneSize = 0;
94682
- siblingSize = this.getTotalSize();
94708
+ paneSize = this.getTotalSize() - siblingSize;
94683
94709
  }
94684
94710
  if (this.pane.isPercentageSize) {
94685
94711
  // handle % resizes