@progress/kendo-angular-popup 25.0.0-develop.7 → 25.0.0

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.
package/NOTICE.txt CHANGED
@@ -1,18 +1,18 @@
1
1
 
2
- Progress Kendo UI for Angular 2026 Updated June 2026
2
+ Progress Kendo UI for Angular 2026 Updated August 2026
3
3
 
4
4
  ----------------------------------------------------------------------------------------------------------------------------
5
5
  NOTICES REPORT
6
6
  ----------------------------------------------------------------------------------------------------------------------------
7
7
 
8
8
  Portions of the Products include certain open source and commercial third-party components listed below ("Third-Party
9
- Components"). The authors of the Third-Party Components require Progress Software Corporation ("PSC") to include
10
- the following notices and additional licensing terms as a condition of PSC's use of such Third-Party Components. You
11
- acknowledge that the authors of the Third-Party Components have no obligation to provide support to you for the Third-
12
- Party Components or the Product. You hereby undertake to comply with all licenses related to the applicable Third-Party
9
+ Components"). The authors of the Third-Party Components require Progress Software Corporation ("PSC") to include the
10
+ following notices and additional licensing terms as a condition of PSC's use of such Third-Party Components. You
11
+ acknowledge that the authors of the Third-Party Components have no obligation to provide support to you for the Third-Party
12
+ Components or the Product. You hereby undertake to comply with all licenses related to the applicable Third-Party
13
13
  Components. Notwithstanding anything to the contrary, to the extent that any of the terms and conditions of the Progress
14
- Agreement conflict, vary, or are in addition to the terms and conditions of the aforementioned third-party licenses for
15
- these technologies, such terms and conditions are offered by PSC alone and not by any other party.
14
+ Agreement conflict, vary, or are in addition to the terms and conditions of the aforementioned third-party licenses for these
15
+ technologies, such terms and conditions are offered by PSC alone and not by any other party.
16
16
 
17
17
  ----------------------------------------------------------------------------------------------------------------------------
18
18
  Report Content
@@ -25,40 +25,38 @@
25
25
 
26
26
  ----------------------------------------------------------------------------------------------------------------------------
27
27
 
28
- GENERATIVE ARTIFICIAL INTELLIGENCE INTEGRATION
29
- If the Software documentation specifies integration with some form of generative artificial intelligence (AI), then the
30
- Software will include a configuration to connect to AI. You acknowledge that a separate license or subscription access to
31
- AI governed by the terms and conditions of a license agreement from AI licensor will be required for use and access of
32
- AI capabilities integrated with the Software. You will be responsible to comply with the terms of such license agreement for
33
- a valid use of AI. You acknowledge and accept that Progress is not a party to the license agreement between You and AI
34
- licensor for AI use, and as a result Progress does not have any control over AI and its availability, and Progress
35
- disclaims any and all liabilities for any output, error, damages, loss, etc., or any other result of Your use of AI integrated
36
- with the Software.
28
+ GENERATIVE ARTIFICIAL INTELLIGENCE INTEGRATION
29
+ If the Software documentation specifies integration with some form of generative artificial intelligence (AI), then the
30
+ Software will include a configuration to connect to AI. You acknowledge that a separate license or subscription access
31
+ to AI governed by the terms and conditions of a license agreement from AI licensor will be required for use and access of
32
+ AI capabilities integrated with the Software. You will be responsible to comply with the terms of such license agreement
33
+ for a valid use of AI. You acknowledge and accept that Progress is not a party to the license agreement between You
34
+ and AI licensor for AI use, and as a result Progress does not have any control over AI and its availability, and Progress
35
+ disclaims any and all liabilities for any output, error, damages, loss, etc., or any other result of Your use of AI
36
+ integrated with the Software.
37
37
 
38
38
  ----------------------------------------------------------------------------------------------------------------------------
39
39
 
40
- NOTICE FROM PROGRESS SOFTWARE CORPORATION: Additional notices may be included in the release notes or
41
- other documentation that accompanies updates received in connection with support of the Product.
40
+ NOTICE FROM PROGRESS SOFTWARE CORPORATION: Additional notices may be included in the release notes or other
41
+ documentation that accompanies updates received in connection with support of the Product.
42
42
 
43
43
  ----------------------------------------------------------------------------------------------------------------------------
44
44
 
45
45
  TECHNOLOGIES DISTRIBUTED UNDER ORIGINAL LICENSE
46
- The Product contains the following third-party technologies licensed to PSC under licenses that require PSC to
47
- distribute the technologies to Users only under its original license terms as noted, the text of which is copied herein
48
- below.
46
+ The Product contains the following third-party technologies licensed to PSC under licenses that require PSC to distribute the
47
+ technologies to Users only under its original license terms as noted, the text of which is copied herein below.
49
48
 
50
49
  Component License
51
-
52
- caniuse-lite | 1.0.30001797 Creative Commons Attribution 4.0
50
+ caniuse-lite | 1.0.30001806 Creative Commons Attribution 4.0
53
51
 
54
52
  ----------------------------------------------------------------------------------------------------------------------------
55
53
 
56
- Components:
54
+ Components:
57
55
 
58
56
  | -------------------------------------- | ------------------------------------- | ---------------------------------------- |
59
57
  | Component | Origin | License |
60
58
  | -------------------------------------- | ------------------------------------- | ---------------------------------------- |
61
- | caniuse-lite 1.0.30001797 | https://github.com/ben-eb/caniuse-lit | Creative Commons Attribution 4.0 |
59
+ | caniuse-lite 1.0.30001806 | https://github.com/ben-eb/caniuse-lit | Creative Commons Attribution 4.0 |
62
60
  | | e | |
63
61
  | jszip 3.10.1 | https://github.com/Stuk/jszip | MIT License |
64
62
  | Microsofttslib 1.14.1 | http://github.com/Microsoft/tslib/ | BSD Zero Clause License |
@@ -66,12 +64,14 @@ Components:
66
64
  | node-semver 7.7.1 | https://github.com/npm/node-semver | ISC License |
67
65
  | nodeca/pako 1.0.11 | https://github.com/nodeca/pako | MIT License |
68
66
  | orderedmap 2.1.1 | https://github.com/marijnh/orderedmap | MIT License |
69
- | pdfjs-dist-for-node 5.6.205 | http://mozilla.github.io/pdf.js/ | Apache License 2.0 |
67
+ | pdfjs-dist-for-node 5.5.207 | http://mozilla.github.io/pdf.js/ | Apache License 2.0 |
68
+ | @progress/kendo-svg-icons 5.4.0 | https://github.com/telerik/kendo-icon | Apache License 2.0 |
69
+ | | s#readme | |
70
70
  | prosemirror-commands 1.7.1 | https://github.com/prosemirror/prosem | MIT License |
71
71
  | | irror-commands#readme | |
72
72
  | prosemirror-dropcursor 1.8.2 | https://github.com/prosemirror/prosem | MIT License |
73
73
  | | irror-dropcursor#readme | |
74
- | prosemirror-gapcursor 1.4.0 | https://github.com/prosemirror/prosem | MIT License |
74
+ | prosemirror-gapcursor 1.4.1 | https://github.com/prosemirror/prosem | MIT License |
75
75
  | | irror-gapcursor#readme | |
76
76
  | prosemirror-history 1.5.0 | https://github.com/prosemirror/prosem | MIT License |
77
77
  | | irror-history#readme | |
@@ -79,7 +79,7 @@ Components:
79
79
  | | irror-inputrules#readme | |
80
80
  | prosemirror-keymap 1.2.3 | https://github.com/prosemirror/prosem | MIT License |
81
81
  | | irror-keymap#readme | |
82
- | prosemirror-model 1.25.4 | https://github.com/prosemirror/prosem | MIT License |
82
+ | prosemirror-model 1.25.9 | https://github.com/prosemirror/prosem | MIT License |
83
83
  | | irror-model#readme | |
84
84
  | prosemirror-schema-list 1.5.1 | https://github.com/prosemirror/prosem | MIT License |
85
85
  | | irror-schema-list#readme | |
@@ -87,16 +87,14 @@ Components:
87
87
  | | irror-state#readme | |
88
88
  | prosemirror-tables 1.8.5 | https://github.com/prosemirror/prosem | MIT License |
89
89
  | | irror-tables#readme | |
90
- | prosemirror-transform 1.10.5 | https://github.com/prosemirror/prosem | MIT License |
90
+ | prosemirror-transform 1.12.0 | https://github.com/prosemirror/prosem | MIT License |
91
91
  | | irror-transform#readme | |
92
- | prosemirror-view 1.41.4 | https://github.com/prosemirror/prosem | MIT License |
92
+ | prosemirror-view 1.42.0 | https://github.com/prosemirror/prosem | MIT License |
93
93
  | | irror-view#readme | |
94
94
  | rope-sequence 1.3.4 | https://github.com/marijnh/rope-seque | MIT License |
95
95
  | | nce#readme | |
96
96
  | w3c-keyname 2.2.8 | https://github.com/marijnh/w3c-keynam | MIT License |
97
97
  | | e#readme | |
98
- | @progress/kendo-svg-icons 4.9.2 | https://github.com/telerik/kendo-icon | Apache License 2.0 |
99
- | | s#readme | |
100
98
  | -------------------------------------- | ------------------------------------- | ---------------------------------------- |
101
99
 
102
100
  -------------------------------------------------------------------------------------------------------------------------
@@ -104,7 +102,8 @@ License Data and Text:
104
102
  -------------------------------------------------------------------------------------------------------------------------
105
103
 
106
104
  Apache License 2.0
107
- (@progress/kendo-svg-icons 4.9.2, pdfjs-dist-for-node 5.6.205)
105
+ (@progress/kendo-svg-icons 5.4.0, pdfjs-dist-for-node 5.5.207)
106
+
108
107
  Apache License
109
108
  Version 2.0, January 2004
110
109
  =========================
@@ -372,7 +371,7 @@ THIS SOFTWARE.
372
371
  ---
373
372
 
374
373
  Creative Commons Attribution 4.0
375
- (caniuse-lite 1.0.30001797)
374
+ (caniuse-lite 1.0.30001806)
376
375
 
377
376
  Creative Commons Attribution 4.0
378
377
  ================================
@@ -13,6 +13,7 @@ exports.writeInstructionMarker = writeInstructionMarker;
13
13
  exports.isApiChangeTarget = isApiChangeTarget;
14
14
  exports.isRenderingChangeTarget = isRenderingChangeTarget;
15
15
  exports.executeCodemodTest = executeCodemodTest;
16
+ exports.removeAttributeFromDirectiveHost = removeAttributeFromDirectiveHost;
16
17
  const tslib_1 = require("tslib");
17
18
  /// <reference types="node" />
18
19
  const fs = tslib_1.__importStar(require("fs"));
@@ -1486,3 +1487,17 @@ function executeCodemodTest(codemod, testDir, exampleFileName = 'example.ts', ex
1486
1487
  catch { }
1487
1488
  }
1488
1489
  }
1490
+ function removeAttributeFromDirectiveHost(templateContent, directiveAttr, attrToRemove) {
1491
+ const escapedDirective = directiveAttr.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1492
+ const escapedAttr = attrToRemove.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1493
+ const boundPattern = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*${escapedDirective}[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
1494
+ const staticPattern = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*${escapedDirective}[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*?>)`, 'gi');
1495
+ // Also match when the attribute appears before the directive
1496
+ const boundPatternBefore = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*?)\\s+\\[${escapedAttr}\\]\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*${escapedDirective}[^>]*?>)`, 'gi');
1497
+ const staticPatternBefore = new RegExp(`(<[a-zA-Z][a-zA-Z0-9-]*[^>]*?)\\s+${escapedAttr}\\s*=\\s*("(?:[^"\\\\]|\\\\.)*?"|'(?:[^'\\\\]|\\\\.)*?'|[^\\s>]+)([^>]*${escapedDirective}[^>]*?>)`, 'gi');
1498
+ let result = templateContent.replace(boundPattern, '$1$3');
1499
+ result = result.replace(staticPattern, '$1$3');
1500
+ result = result.replace(boundPatternBefore, '$1$3');
1501
+ result = result.replace(staticPatternBefore, '$1$3');
1502
+ return result;
1503
+ }
@@ -322,10 +322,10 @@ class DOMService {
322
322
  isZoomed() {
323
323
  return this.zoomLevel() > 1;
324
324
  }
325
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
326
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DOMService });
325
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: DOMService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
326
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: DOMService });
327
327
  }
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DOMService, decorators: [{
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: DOMService, decorators: [{
329
329
  type: Injectable
330
330
  }] });
331
331
 
@@ -386,10 +386,10 @@ class AlignService {
386
386
  const rect = eitherRect(this._dom.position(anchor, element, scale), offset);
387
387
  return scaleRect(rect, scale);
388
388
  }
389
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AlignService, deps: [{ token: DOMService }, { token: SCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
390
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AlignService });
389
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: AlignService, deps: [{ token: DOMService }, { token: SCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
390
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: AlignService });
391
391
  }
392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AlignService, decorators: [{
392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: AlignService, decorators: [{
393
393
  type: Injectable
394
394
  }], ctorParameters: () => [{ type: DOMService }, { type: undefined, decorators: [{
395
395
  type: Inject,
@@ -435,10 +435,10 @@ class PositionService {
435
435
  offset: offset
436
436
  };
437
437
  }
438
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PositionService, deps: [{ token: DOMService }, { token: SCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
439
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PositionService });
438
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PositionService, deps: [{ token: DOMService }, { token: SCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
439
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PositionService });
440
440
  }
441
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PositionService, decorators: [{
441
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PositionService, decorators: [{
442
442
  type: Injectable
443
443
  }], ctorParameters: () => [{ type: DOMService }, { type: undefined, decorators: [{
444
444
  type: Inject,
@@ -477,10 +477,10 @@ class ResizeService {
477
477
  isUnsubscribed() {
478
478
  return this.subscription && this.subscription.closed;
479
479
  }
480
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeService, deps: [{ token: DOMService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
481
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeService });
480
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ResizeService, deps: [{ token: DOMService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
481
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ResizeService });
482
482
  }
483
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeService, decorators: [{
483
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ResizeService, decorators: [{
484
484
  type: Injectable
485
485
  }], ctorParameters: () => [{ type: DOMService }, { type: i0.NgZone }] });
486
486
 
@@ -518,7 +518,9 @@ class ScrollableService {
518
518
  const isDocument = target === document;
519
519
  const isWindow = target === window;
520
520
  if (isParent || isDocument || isWindow) {
521
- callback(this.isVisible(this.element, target));
521
+ const visible = this.isVisible(this.element, target);
522
+ const direction = visible ? undefined : this.getLeaveDirection(this.element, target);
523
+ callback(visible, direction);
522
524
  }
523
525
  };
524
526
  this.subscription = merge(...observables).subscribe(subscriber);
@@ -547,10 +549,19 @@ class ScrollableService {
547
549
  }
548
550
  return true;
549
551
  }
550
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollableService, deps: [{ token: DOMService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
551
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollableService });
552
+ getLeaveDirection(elem, container) {
553
+ const elemRect = this._dom.boundingOffset(elem);
554
+ const containerRect = this._dom.boundingOffset(this._dom.nativeElement(container));
555
+ const vertical = THRESHOLD_DIFF < (containerRect.top - elemRect.bottom) ||
556
+ THRESHOLD_DIFF < (elemRect.top - containerRect.bottom);
557
+ const horizontal = THRESHOLD_DIFF < (elemRect.left - containerRect.right) ||
558
+ THRESHOLD_DIFF < (containerRect.left - elemRect.right);
559
+ return { horizontal, vertical };
560
+ }
561
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ScrollableService, deps: [{ token: DOMService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
562
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ScrollableService });
552
563
  }
553
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollableService, decorators: [{
564
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ScrollableService, decorators: [{
554
565
  type: Injectable
555
566
  }], ctorParameters: () => [{ type: DOMService }, { type: i0.NgZone }] });
556
567
 
@@ -678,10 +689,10 @@ class AnimationService {
678
689
  this.player = null;
679
690
  }
680
691
  }
681
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AnimationService, deps: [{ token: i1.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
682
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AnimationService });
692
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: AnimationService, deps: [{ token: i1.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Injectable });
693
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: AnimationService });
683
694
  }
684
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: AnimationService, decorators: [{
695
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: AnimationService, decorators: [{
685
696
  type: Injectable
686
697
  }], ctorParameters: () => [{ type: i1.AnimationBuilder }] });
687
698
 
@@ -693,8 +704,8 @@ const packageMetadata = {
693
704
  productName: 'Kendo UI for Angular',
694
705
  productCode: 'KENDOUIANGULAR',
695
706
  productCodes: ['KENDOUIANGULAR'],
696
- publishDate: 1784618599,
697
- version: '25.0.0-develop.7',
707
+ publishDate: 1786525757,
708
+ version: '25.0.0',
698
709
  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'
699
710
  };
700
711
 
@@ -953,14 +964,14 @@ class PopupComponent {
953
964
  margin: this.margin
954
965
  });
955
966
  }
956
- onScroll(isInViewPort) {
967
+ onScroll(isInViewPort, direction) {
957
968
  const hasLeaveObservers = hasObservers(this.anchorViewportLeave);
958
969
  if (isInViewPort || !hasLeaveObservers) {
959
970
  this.reposition();
960
971
  }
961
972
  else if (hasLeaveObservers) {
962
973
  this.zone.run(() => {
963
- this.anchorViewportLeave.emit();
974
+ this.anchorViewportLeave.emit(direction);
964
975
  });
965
976
  }
966
977
  }
@@ -985,8 +996,8 @@ class PopupComponent {
985
996
  get hasCustomOffset() {
986
997
  return this.offset.left !== DEFAULT_OFFSET.left || this.offset.top !== DEFAULT_OFFSET.top;
987
998
  }
988
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopupComponent, deps: [{ token: i0.ElementRef }, { token: AlignService }, { token: DOMService }, { token: PositionService }, { token: ResizeService }, { token: ScrollableService }, { token: AnimationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
989
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: PopupComponent, isStandalone: true, selector: "kendo-popup", inputs: { animate: "animate", anchor: "anchor", anchorAlign: "anchorAlign", collision: "collision", popupAlign: "popupAlign", copyAnchorStyles: "copyAnchorStyles", popupClass: "popupClass", positionMode: "positionMode", offset: "offset", margin: "margin" }, outputs: { anchorViewportLeave: "anchorViewportLeave", close: "close", open: "open", positionChange: "positionChange" }, providers: [AlignService, AnimationService, DOMService, PositionService, ResizeService, ScrollableService], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "resizeSensor", first: true, predicate: ResizeSensorComponent, descendants: true, static: true }], exportAs: ["kendo-popup"], usesOnChanges: true, ngImport: i0, template: `
999
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PopupComponent, deps: [{ token: i0.ElementRef }, { token: AlignService }, { token: DOMService }, { token: PositionService }, { token: ResizeService }, { token: ScrollableService }, { token: AnimationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1000
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.27", type: PopupComponent, isStandalone: true, selector: "kendo-popup", inputs: { animate: "animate", anchor: "anchor", anchorAlign: "anchorAlign", collision: "collision", popupAlign: "popupAlign", copyAnchorStyles: "copyAnchorStyles", popupClass: "popupClass", positionMode: "positionMode", offset: "offset", margin: "margin" }, outputs: { anchorViewportLeave: "anchorViewportLeave", close: "close", open: "open", positionChange: "positionChange" }, providers: [AlignService, AnimationService, DOMService, PositionService, ResizeService, ScrollableService], viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["container"], descendants: true, static: true }, { propertyName: "resizeSensor", first: true, predicate: ResizeSensorComponent, descendants: true, static: true }], exportAs: ["kendo-popup"], usesOnChanges: true, ngImport: i0, template: `
990
1001
  <div class="k-child-animation-container">
991
1002
  <div [class.k-popup]="renderDefaultClass" [ngClass]="popupClass" #container>
992
1003
  <ng-content></ng-content>
@@ -998,7 +1009,7 @@ class PopupComponent {
998
1009
  </div>
999
1010
  `, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1000
1011
  }
1001
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopupComponent, decorators: [{
1012
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PopupComponent, decorators: [{
1002
1013
  type: Component,
1003
1014
  args: [{
1004
1015
  selector: 'kendo-popup',
@@ -1264,10 +1275,10 @@ class PopupService {
1264
1275
  ]
1265
1276
  };
1266
1277
  }
1267
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopupService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: POPUP_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1268
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopupService, providedIn: 'root' });
1278
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PopupService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: POPUP_CONTAINER, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1279
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PopupService, providedIn: 'root' });
1269
1280
  }
1270
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopupService, decorators: [{
1281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PopupService, decorators: [{
1271
1282
  type: Injectable,
1272
1283
  args: [{
1273
1284
  providedIn: 'root'
@@ -1331,11 +1342,11 @@ const KENDO_POPUP = [
1331
1342
  * ```
1332
1343
  */
1333
1344
  class PopupModule {
1334
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1335
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: PopupModule, imports: [i1$1.ResizeSensorComponent, PopupComponent], exports: [PopupComponent] });
1336
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopupModule, providers: [PopupService, ResizeBatchService], imports: [KENDO_RESIZESENSOR, KENDO_POPUP] });
1345
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PopupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1346
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.27", ngImport: i0, type: PopupModule, imports: [i1$1.ResizeSensorComponent, PopupComponent], exports: [PopupComponent] });
1347
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PopupModule, providers: [PopupService, ResizeBatchService], imports: [KENDO_RESIZESENSOR, KENDO_POPUP] });
1337
1348
  }
1338
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PopupModule, decorators: [{
1349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PopupModule, decorators: [{
1339
1350
  type: NgModule,
1340
1351
  args: [{
1341
1352
  exports: [...KENDO_POPUP],
package/index.d.ts CHANGED
@@ -283,6 +283,13 @@ declare class ResizeService {
283
283
  static ɵprov: i0.ɵɵInjectableDeclaration<ResizeService>;
284
284
  }
285
285
 
286
+ /**
287
+ * @hidden
288
+ */
289
+ interface ScrollableLeaveDirection {
290
+ horizontal: boolean;
291
+ vertical: boolean;
292
+ }
286
293
  /**
287
294
  * @hidden
288
295
  */
@@ -293,9 +300,10 @@ declare class ScrollableService {
293
300
  private subscription;
294
301
  constructor(_dom: DOMService, zone: NgZone);
295
302
  forElement(element: HTMLElement): ScrollableService;
296
- subscribe(callback: (visible: boolean) => void): void;
303
+ subscribe(callback: (visible: boolean, direction?: ScrollableLeaveDirection) => void): void;
297
304
  unsubscribe(): void;
298
305
  isVisible(elem: HTMLElement, container: any): boolean;
306
+ private getLeaveDirection;
299
307
  static ɵfac: i0.ɵɵFactoryDeclaration<ScrollableService, never>;
300
308
  static ɵprov: i0.ɵɵInjectableDeclaration<ScrollableService>;
301
309
  }
@@ -700,4 +708,4 @@ declare const SCALE: InjectionToken<number>;
700
708
  declare const KENDO_POPUP: readonly [typeof PopupComponent];
701
709
 
702
710
  export { KENDO_POPUP, POPUP_CONTAINER, PopupComponent, PopupModule, PopupService, SCALE };
703
- export type { Align, AnimationDirection, AnimationType, Collision, Margin, Offset, PopupAnimation, PopupRef, PopupSettings, PositionMode };
711
+ export type { Align, AnimationDirection, AnimationType, Collision, Margin, Offset, PopupAnimation, PopupRef, PopupSettings, PositionMode, ScrollableLeaveDirection };
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1784618599,
11
- "version": "25.0.0-develop.7",
10
+ "publishDate": 1786525757,
11
+ "version": "25.0.0",
12
12
  "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"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-popup",
3
- "version": "25.0.0-develop.7",
3
+ "version": "25.0.0",
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",
@@ -34,7 +34,7 @@
34
34
  "package": {
35
35
  "productName": "Kendo UI for Angular",
36
36
  "productCode": "KENDOUIANGULAR",
37
- "publishDate": 1784618599,
37
+ "publishDate": 1786525757,
38
38
  "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"
39
39
  }
40
40
  },
@@ -43,14 +43,14 @@
43
43
  "@angular/common": "20 - 22",
44
44
  "@angular/core": "20 - 22",
45
45
  "@angular/platform-browser": "20 - 22",
46
- "@progress/kendo-angular-common": "25.0.0-develop.7",
46
+ "@progress/kendo-angular-common": "25.0.0",
47
47
  "@progress/kendo-licensing": "^1.11.0",
48
48
  "rxjs": "^6.5.3 || ^7.0.0"
49
49
  },
50
50
  "dependencies": {
51
51
  "@progress/kendo-popup-common": "1.9.5",
52
52
  "tslib": "^2.3.1",
53
- "@progress/kendo-angular-schematics": "25.0.0-develop.7"
53
+ "@progress/kendo-angular-schematics": "25.0.0"
54
54
  },
55
55
  "schematics": "./schematics/collection.json",
56
56
  "module": "fesm2022/progress-kendo-angular-popup.mjs",