@progress/kendo-angular-popup 21.4.0-develop.7 → 21.4.0-develop.8

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.
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1766133576,
14
- version: '21.4.0-develop.7',
13
+ publishDate: 1766136585,
14
+ version: '21.4.0-develop.8',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
16
16
  };
@@ -158,6 +158,9 @@ export class PopupComponent {
158
158
  this.animationSubscriptions.add(this.animationService.end.subscribe(this.onAnimationEnd.bind(this)));
159
159
  this._scrollableService.forElement(this.domService.nativeElement(this.anchor) || this.container.nativeElement).subscribe(this.onScroll.bind(this));
160
160
  this.currentOffset = DEFAULT_OFFSET;
161
+ // we intentionally set the zIndex here as an exception to the rule that it should come from the themes
162
+ // to be removed once https://github.com/telerik/kendo-angular-private/issues/5413 is addressed
163
+ this.setZIndex();
161
164
  this.copyFontStyles();
162
165
  this.updateFixedClass();
163
166
  this.reposition();
@@ -224,6 +227,11 @@ export class PopupComponent {
224
227
  this.setContainerStyle('top', `${offset.top}px`);
225
228
  this._currentOffset = offset;
226
229
  }
230
+ setZIndex() {
231
+ if (this.anchor) {
232
+ this.setContainerStyle('z-index', String(this.domService.zIndex(this.domService.nativeElement(this.anchor), this.container)));
233
+ }
234
+ }
227
235
  reposition() {
228
236
  if (!isDocumentAvailable()) {
229
237
  return;
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { Injectable } from '@angular/core';
6
6
  import { align, boundingOffset, getWindowViewPort, offset, positionWithScroll, restrictToView, addScroll, removeScroll, scrollPosition } from '@progress/kendo-popup-common';
7
- import { isWindowAvailable, hasRelativeStackingContext, scrollableParents } from '../util';
7
+ import { isWindowAvailable, hasRelativeStackingContext, scrollableParents, zIndex } from '../util';
8
8
  import { isDocumentAvailable } from '@progress/kendo-angular-common';
9
9
  import * as i0 from "@angular/core";
10
10
  const STYLES = [
@@ -135,6 +135,9 @@ export class DOMService {
135
135
  windowViewPort(el) {
136
136
  return getWindowViewPort(this.nativeElement(el));
137
137
  }
138
+ zIndex(anchor, container) {
139
+ return zIndex(anchor, this.nativeElement(container));
140
+ }
138
141
  zoomLevel() {
139
142
  if (!isDocumentAvailable() || !isWindowAvailable()) {
140
143
  return 1;
package/esm2022/util.mjs CHANGED
@@ -2,6 +2,7 @@
2
2
  * Copyright © 2025 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { parents, siblingContainer } from '@progress/kendo-popup-common';
5
6
  import { isDocumentAvailable } from '@progress/kendo-angular-common';
6
7
  /**
7
8
  * @hidden
@@ -128,6 +129,24 @@ export const hasRelativeStackingContext = memoize(() => {
128
129
  document.body.removeChild(parent);
129
130
  return isDifferent;
130
131
  });
132
+ /**
133
+ * @hidden
134
+ */
135
+ export const zIndex = (anchor, container) => {
136
+ if (!anchor || !isDocumentAvailable() || !isWindowAvailable()) {
137
+ return null;
138
+ }
139
+ const sibling = siblingContainer(anchor, container);
140
+ if (!sibling) {
141
+ return null;
142
+ }
143
+ const result = [anchor].concat(parents(anchor, sibling)).reduce((index, p) => {
144
+ const zIndexStyle = p.style.zIndex || window.getComputedStyle(p).zIndex;
145
+ const current = parseInt(zIndexStyle, 10);
146
+ return current > index ? current : index;
147
+ }, 0);
148
+ return result ? (result + 1) : null;
149
+ };
131
150
  /**
132
151
  * @hidden
133
152
  */
@@ -4,7 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
6
  import { Injectable, InjectionToken, Inject, Optional, EventEmitter, isDevMode, Component, Input, Output, ViewChild, TemplateRef, NgModule } from '@angular/core';
7
- import { addScroll, align, boundingOffset, offset, positionWithScroll, removeScroll, restrictToView, scrollPosition, getWindowViewPort } from '@progress/kendo-popup-common';
7
+ import { siblingContainer, parents, addScroll, align, boundingOffset, offset, positionWithScroll, removeScroll, restrictToView, scrollPosition, getWindowViewPort } from '@progress/kendo-popup-common';
8
8
  import * as i1$1 from '@progress/kendo-angular-common';
9
9
  import { isDocumentAvailable, hasObservers, ResizeSensorComponent, ResizeBatchService, KENDO_RESIZESENSOR } from '@progress/kendo-angular-common';
10
10
  import { fromEvent, merge, from } from 'rxjs';
@@ -139,6 +139,24 @@ const hasRelativeStackingContext = memoize(() => {
139
139
  document.body.removeChild(parent);
140
140
  return isDifferent;
141
141
  });
142
+ /**
143
+ * @hidden
144
+ */
145
+ const zIndex = (anchor, container) => {
146
+ if (!anchor || !isDocumentAvailable() || !isWindowAvailable()) {
147
+ return null;
148
+ }
149
+ const sibling = siblingContainer(anchor, container);
150
+ if (!sibling) {
151
+ return null;
152
+ }
153
+ const result = [anchor].concat(parents(anchor, sibling)).reduce((index, p) => {
154
+ const zIndexStyle = p.style.zIndex || window.getComputedStyle(p).zIndex;
155
+ const current = parseInt(zIndexStyle, 10);
156
+ return current > index ? current : index;
157
+ }, 0);
158
+ return result ? (result + 1) : null;
159
+ };
142
160
  /**
143
161
  * @hidden
144
162
  */
@@ -282,6 +300,9 @@ class DOMService {
282
300
  windowViewPort(el) {
283
301
  return getWindowViewPort(this.nativeElement(el));
284
302
  }
303
+ zIndex(anchor, container) {
304
+ return zIndex(anchor, this.nativeElement(container));
305
+ }
285
306
  zoomLevel() {
286
307
  if (!isDocumentAvailable() || !isWindowAvailable()) {
287
308
  return 1;
@@ -662,8 +683,8 @@ const packageMetadata = {
662
683
  productName: 'Kendo UI for Angular',
663
684
  productCode: 'KENDOUIANGULAR',
664
685
  productCodes: ['KENDOUIANGULAR'],
665
- publishDate: 1766133576,
666
- version: '21.4.0-develop.7',
686
+ publishDate: 1766136585,
687
+ version: '21.4.0-develop.8',
667
688
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
668
689
  };
669
690
 
@@ -803,6 +824,9 @@ class PopupComponent {
803
824
  this.animationSubscriptions.add(this.animationService.end.subscribe(this.onAnimationEnd.bind(this)));
804
825
  this._scrollableService.forElement(this.domService.nativeElement(this.anchor) || this.container.nativeElement).subscribe(this.onScroll.bind(this));
805
826
  this.currentOffset = DEFAULT_OFFSET;
827
+ // we intentionally set the zIndex here as an exception to the rule that it should come from the themes
828
+ // to be removed once https://github.com/telerik/kendo-angular-private/issues/5413 is addressed
829
+ this.setZIndex();
806
830
  this.copyFontStyles();
807
831
  this.updateFixedClass();
808
832
  this.reposition();
@@ -869,6 +893,11 @@ class PopupComponent {
869
893
  this.setContainerStyle('top', `${offset.top}px`);
870
894
  this._currentOffset = offset;
871
895
  }
896
+ setZIndex() {
897
+ if (this.anchor) {
898
+ this.setContainerStyle('z-index', String(this.domService.zIndex(this.domService.nativeElement(this.anchor), this.container)));
899
+ }
900
+ }
872
901
  reposition() {
873
902
  if (!isDocumentAvailable()) {
874
903
  return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-popup",
3
- "version": "21.4.0-develop.7",
3
+ "version": "21.4.0-develop.8",
4
4
  "description": "Kendo UI Angular Popup component - an easily customized popup from the most trusted provider of professional Angular components.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -19,7 +19,7 @@
19
19
  "package": {
20
20
  "productName": "Kendo UI for Angular",
21
21
  "productCode": "KENDOUIANGULAR",
22
- "publishDate": 1766133576,
22
+ "publishDate": 1766136585,
23
23
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
24
24
  }
25
25
  },
@@ -28,14 +28,14 @@
28
28
  "@angular/common": "18 - 21",
29
29
  "@angular/core": "18 - 21",
30
30
  "@angular/platform-browser": "18 - 21",
31
- "@progress/kendo-angular-common": "21.4.0-develop.7",
31
+ "@progress/kendo-angular-common": "21.4.0-develop.8",
32
32
  "@progress/kendo-licensing": "^1.7.0",
33
33
  "rxjs": "^6.5.3 || ^7.0.0"
34
34
  },
35
35
  "dependencies": {
36
36
  "@progress/kendo-popup-common": "1.9.5",
37
37
  "tslib": "^2.3.1",
38
- "@progress/kendo-angular-schematics": "21.4.0-develop.7"
38
+ "@progress/kendo-angular-schematics": "21.4.0-develop.8"
39
39
  },
40
40
  "schematics": "./schematics/collection.json",
41
41
  "module": "fesm2022/progress-kendo-angular-popup.mjs",
@@ -143,6 +143,7 @@ export declare class PopupComponent implements AfterViewInit, OnInit, OnChanges,
143
143
  private onAnimationEnd;
144
144
  private get currentOffset();
145
145
  private set currentOffset(value);
146
+ private setZIndex;
146
147
  private reposition;
147
148
  private position;
148
149
  private onScroll;
@@ -31,6 +31,7 @@ export declare class DOMService {
31
31
  getRelativeContextElement(el: ElementRef): HTMLElement;
32
32
  useRelativePosition(el: ElementRef): boolean;
33
33
  windowViewPort(el: ElementRef): ViewPort;
34
+ zIndex(anchor: HTMLElement, container: ElementRef): number;
34
35
  zoomLevel(): number;
35
36
  isZoomed(): boolean;
36
37
  static ɵfac: i0.ɵɵFactoryDeclaration<DOMService, never>;
package/util.d.ts CHANGED
@@ -43,6 +43,10 @@ export declare const FRAME_DURATION: number;
43
43
  * @hidden
44
44
  */
45
45
  export declare const hasRelativeStackingContext: any;
46
+ /**
47
+ * @hidden
48
+ */
49
+ export declare const zIndex: (anchor: HTMLElement, container: HTMLElement) => number | null;
46
50
  /**
47
51
  * @hidden
48
52
  */