@progress/kendo-angular-dialog 24.0.3 → 24.1.0-develop.1

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.
@@ -2,7 +2,6 @@
2
2
  * Copyright © 2026 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 { ComponentFactoryResolver } from '@angular/core';
6
5
  import { DialogContainerService } from './dialog-container.service';
7
6
  import { DialogRef } from './models/dialog-ref';
8
7
  import { DialogSettings } from './models';
@@ -11,16 +10,8 @@ import * as i0 from "@angular/core";
11
10
  * Provides a service for opening Dialog windows dynamically ([see example](https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/service)).
12
11
  */
13
12
  export declare class DialogService {
14
- /**
15
- * @hidden
16
- */
17
- private resolver;
18
13
  private containerService;
19
- constructor(
20
- /**
21
- * @hidden
22
- */
23
- resolver: ComponentFactoryResolver, containerService: DialogContainerService);
14
+ constructor(containerService: DialogContainerService);
24
15
  /**
25
16
  * Opens a Dialog window. Requires an element in the application that uses the
26
17
  * [`kendoDialogContainer`](https://www.telerik.com/kendo-angular-ui/components/dialogs/api/dialogcontainerdirective) directive.
@@ -386,9 +386,12 @@ class DialogTitleBarComponent {
386
386
  return this.closeTitle || this.localizationService.get('closeTitle');
387
387
  }
388
388
  ngAfterViewInit() {
389
+ if (!this.id) {
390
+ return;
391
+ }
389
392
  this.zone.onStable.pipe(take(1)).subscribe(() => {
390
393
  const element = this.hostElement.nativeElement.querySelector('.k-dialog-title');
391
- element.setAttribute('id', this.id);
394
+ element?.setAttribute('id', this.id);
392
395
  });
393
396
  }
394
397
  /**
@@ -513,8 +516,8 @@ const packageMetadata = {
513
516
  productName: 'Kendo UI for Angular',
514
517
  productCode: 'KENDOUIANGULAR',
515
518
  productCodes: ['KENDOUIANGULAR'],
516
- publishDate: 1780065070,
517
- version: '24.0.3',
519
+ publishDate: 1780513663,
520
+ version: '24.1.0-develop.1',
518
521
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
519
522
  };
520
523
 
@@ -1000,17 +1003,14 @@ class DialogComponent {
1000
1003
  this.bubble('close', this.titlebarContent.first);
1001
1004
  this.renderer.setAttribute(this.wrapper.nativeElement.querySelector('.k-dialog'), 'aria-describedby', this.contentId);
1002
1005
  if (this.titlebarContent.first) {
1003
- this.titlebarContent.first.id = this.titleId;
1004
1006
  this.titlebarContent.first.closable = this.closable;
1005
1007
  }
1006
1008
  else {
1007
1009
  this.subscriptions.push(this.titlebarContent.changes.subscribe(() => {
1008
1010
  if (isPresent(this.titlebarContent.first)) {
1009
- this.titlebarContent.first.id = this.titleId;
1010
1011
  this.titlebarContent.first.closable = this.closable;
1011
1012
  this.ngZone.onStable.pipe(take(1)).subscribe(() => {
1012
1013
  this.bubble('close', this.titlebarContent.first);
1013
- this.renderer.setAttribute(this.wrapper.nativeElement.querySelector('.k-dialog'), 'aria-labelledby', this.titleId);
1014
1014
  });
1015
1015
  }
1016
1016
  }));
@@ -1025,8 +1025,7 @@ class DialogComponent {
1025
1025
  });
1026
1026
  this.bubble('close', this.titlebarView.first);
1027
1027
  this.bubble('action', this.actionsView);
1028
- if (this.titlebarView.first || this.titlebarContent.first) {
1029
- //Needed for Dialogs created via service
1028
+ if (this.titlebarView.first) {
1030
1029
  this.renderer.setAttribute(this.wrapper.nativeElement.querySelector('.k-dialog'), 'aria-labelledby', this.titleId);
1031
1030
  }
1032
1031
  else {
@@ -1666,14 +1665,8 @@ class DialogInjector {
1666
1665
  * Provides a service for opening Dialog windows dynamically ([see example](https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/service)).
1667
1666
  */
1668
1667
  class DialogService {
1669
- resolver;
1670
1668
  containerService;
1671
- constructor(
1672
- /**
1673
- * @hidden
1674
- */
1675
- resolver, containerService) {
1676
- this.resolver = resolver;
1669
+ constructor(containerService) {
1677
1670
  this.containerService = containerService;
1678
1671
  }
1679
1672
  /**
@@ -1700,7 +1693,6 @@ class DialogService {
1700
1693
  * ```
1701
1694
  */
1702
1695
  open(options) {
1703
- const factory = this.resolver.resolveComponentFactory(DialogComponent);
1704
1696
  const container = options.appendTo || this.containerService.container;
1705
1697
  if (!container) {
1706
1698
  throw new Error(`
@@ -1718,11 +1710,11 @@ See https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/service/.
1718
1710
  dialog: null,
1719
1711
  result: null
1720
1712
  };
1721
- return this.initializeDialog(options.content, factory, container, dialogRef, options);
1713
+ return this.initializeDialog(options.content, container, dialogRef, options);
1722
1714
  }
1723
- initializeDialog(component, factory, container, dialogRef, options) {
1715
+ initializeDialog(component, container, dialogRef, options) {
1724
1716
  const content = this.contentFrom(component, container, dialogRef);
1725
- const dialog = container.createComponent(factory, undefined, undefined, content.nodes);
1717
+ const dialog = container.createComponent(DialogComponent, { projectableNodes: content.nodes });
1726
1718
  dialogRef.dialog = dialog;
1727
1719
  dialog.changeDetectorRef.markForCheck();
1728
1720
  // copy @Input options to dialog instance
@@ -1812,8 +1804,7 @@ See https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/service/.
1812
1804
  else if (content && !(content instanceof TemplateRef)) {
1813
1805
  // Component
1814
1806
  const injector = new DialogInjector(() => dialogRef, container.injector);
1815
- const factory = this.resolver.resolveComponentFactory(content);
1816
- componentRef = container.createComponent(factory, undefined, injector);
1807
+ componentRef = container.createComponent(content, { injector });
1817
1808
  titleNodes = Array.from(componentRef.location.nativeElement.querySelectorAll('kendo-dialog-titlebar'));
1818
1809
  nodes = [componentRef.location.nativeElement];
1819
1810
  actionNodes = Array.from(componentRef.location.nativeElement.querySelectorAll('kendo-dialog-actions'));
@@ -1828,7 +1819,7 @@ See https://www.telerik.com/kendo-angular-ui/components/dialogs/dialog/service/.
1828
1819
  ]
1829
1820
  };
1830
1821
  }
1831
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: DialogService, deps: [{ token: i0.ComponentFactoryResolver }, { token: DialogContainerService }], target: i0.ɵɵFactoryTarget.Injectable });
1822
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: DialogService, deps: [{ token: DialogContainerService }], target: i0.ɵɵFactoryTarget.Injectable });
1832
1823
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: DialogService, providedIn: 'root' });
1833
1824
  }
1834
1825
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: DialogService, decorators: [{
@@ -1836,7 +1827,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImpo
1836
1827
  args: [{
1837
1828
  providedIn: 'root'
1838
1829
  }]
1839
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: DialogContainerService, decorators: [{
1830
+ }], ctorParameters: () => [{ type: DialogContainerService, decorators: [{
1840
1831
  type: Inject,
1841
1832
  args: [DialogContainerService]
1842
1833
  }] }] });
@@ -2257,10 +2248,13 @@ class WindowTitleBarComponent {
2257
2248
  this.subscribeStateChange();
2258
2249
  }
2259
2250
  ngAfterViewInit() {
2260
- const element = this.el.nativeElement.querySelector('.k-window-title');
2261
- if (isPresent(element)) {
2262
- element.setAttribute('id', this.id);
2251
+ if (!this.id || this.template) {
2252
+ return;
2263
2253
  }
2254
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
2255
+ const element = this.el.nativeElement.querySelector('.k-window-title');
2256
+ element?.setAttribute('id', this.id);
2257
+ });
2264
2258
  }
2265
2259
  ngOnDestroy() {
2266
2260
  this.dragDirective.ngOnDestroy();
@@ -3263,7 +3257,7 @@ class WindowComponent {
3263
3257
  });
3264
3258
  this.ngZone.runOutsideAngular(() => Promise.resolve(null).then(() => this.setInitialOffset()));
3265
3259
  this.initDomEvents();
3266
- if (this.titleBarView || this.titleBarContent) {
3260
+ if (this.titleBarView && !this.titleBarView.template) {
3267
3261
  this.renderer.setAttribute(this.el.nativeElement, 'aria-labelledby', this.titleId);
3268
3262
  }
3269
3263
  }
@@ -3928,14 +3922,8 @@ class WindowInjector {
3928
3922
  * Use this service to open a Window component and manage its lifecycle. ([See example.](https://www.telerik.com/kendo-angular-ui/components/dialogs/window/service))
3929
3923
  */
3930
3924
  class WindowService {
3931
- resolver;
3932
3925
  containerService;
3933
- constructor(
3934
- /**
3935
- * @hidden
3936
- */
3937
- resolver, containerService) {
3938
- this.resolver = resolver;
3926
+ constructor(containerService) {
3939
3927
  this.containerService = containerService;
3940
3928
  }
3941
3929
  /**
@@ -3953,7 +3941,6 @@ class WindowService {
3953
3941
  * ```
3954
3942
  */
3955
3943
  open(settings) {
3956
- const factory = this.resolver.resolveComponentFactory(WindowComponent);
3957
3944
  const container = settings.appendTo || this.containerService.container;
3958
3945
  if (!container) {
3959
3946
  throw new Error(`Cannot attach window to the page.
@@ -3968,7 +3955,7 @@ class WindowService {
3968
3955
  window: null
3969
3956
  };
3970
3957
  const content = this.contentFrom(settings.content, container, windowRef);
3971
- const window = container.createComponent(factory, undefined, undefined, content.nodes);
3958
+ const window = container.createComponent(WindowComponent, { projectableNodes: content.nodes });
3972
3959
  windowRef.window = window;
3973
3960
  this.applyOptions(window.instance, settings);
3974
3961
  const apiClose = new Subject();
@@ -4071,8 +4058,7 @@ class WindowService {
4071
4058
  }
4072
4059
  else if (content && !(content instanceof TemplateRef)) {
4073
4060
  const injector = new WindowInjector(() => windowRef, container.injector);
4074
- const factory = this.resolver.resolveComponentFactory(content);
4075
- componentRef = container.createComponent(factory, undefined, injector);
4061
+ componentRef = container.createComponent(content, { injector });
4076
4062
  nodes = [componentRef.location.nativeElement];
4077
4063
  windowRef.content = componentRef;
4078
4064
  }
@@ -4084,7 +4070,7 @@ class WindowService {
4084
4070
  ]
4085
4071
  };
4086
4072
  }
4087
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: WindowService, deps: [{ token: i0.ComponentFactoryResolver }, { token: WindowContainerService }], target: i0.ɵɵFactoryTarget.Injectable });
4073
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: WindowService, deps: [{ token: WindowContainerService }], target: i0.ɵɵFactoryTarget.Injectable });
4088
4074
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: WindowService, providedIn: 'root' });
4089
4075
  }
4090
4076
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImport: i0, type: WindowService, decorators: [{
@@ -4092,7 +4078,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.24", ngImpo
4092
4078
  args: [{
4093
4079
  providedIn: 'root'
4094
4080
  }]
4095
- }], ctorParameters: () => [{ type: i0.ComponentFactoryResolver }, { type: WindowContainerService, decorators: [{
4081
+ }], ctorParameters: () => [{ type: WindowContainerService, decorators: [{
4096
4082
  type: Inject,
4097
4083
  args: [WindowContainerService]
4098
4084
  }] }] });
@@ -7,7 +7,7 @@ export const packageMetadata = {
7
7
  "productCodes": [
8
8
  "KENDOUIANGULAR"
9
9
  ],
10
- "publishDate": 1780065070,
11
- "version": "24.0.3",
10
+ "publishDate": 1780513663,
11
+ "version": "24.1.0-develop.1",
12
12
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
13
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-dialog",
3
- "version": "24.0.3",
3
+ "version": "24.1.0-develop.1",
4
4
  "description": "Dialog Package for Angular",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -45,25 +45,25 @@
45
45
  "package": {
46
46
  "productName": "Kendo UI for Angular",
47
47
  "productCode": "KENDOUIANGULAR",
48
- "publishDate": 1780065070,
48
+ "publishDate": 1780513663,
49
49
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
50
50
  }
51
51
  },
52
52
  "peerDependencies": {
53
- "@angular/animations": "19 - 21",
54
- "@angular/common": "19 - 21",
55
- "@angular/core": "19 - 21",
56
- "@angular/platform-browser": "19 - 21",
53
+ "@angular/animations": "19 - 22",
54
+ "@angular/common": "19 - 22",
55
+ "@angular/core": "19 - 22",
56
+ "@angular/platform-browser": "19 - 22",
57
57
  "@progress/kendo-licensing": "^1.11.0",
58
- "@progress/kendo-angular-buttons": "24.0.3",
59
- "@progress/kendo-angular-common": "24.0.3",
60
- "@progress/kendo-angular-icons": "24.0.3",
61
- "@progress/kendo-angular-l10n": "24.0.3",
58
+ "@progress/kendo-angular-buttons": "24.1.0-develop.1",
59
+ "@progress/kendo-angular-common": "24.1.0-develop.1",
60
+ "@progress/kendo-angular-icons": "24.1.0-develop.1",
61
+ "@progress/kendo-angular-l10n": "24.1.0-develop.1",
62
62
  "rxjs": "^6.5.3 || ^7.0.0"
63
63
  },
64
64
  "dependencies": {
65
65
  "tslib": "^2.3.1",
66
- "@progress/kendo-angular-schematics": "24.0.3",
66
+ "@progress/kendo-angular-schematics": "24.1.0-develop.1",
67
67
  "@progress/kendo-popup-common": "1.9.5"
68
68
  },
69
69
  "schematics": "./schematics/collection.json",
@@ -9,7 +9,7 @@ const schematics_1 = require("@angular-devkit/schematics");
9
9
  function default_1(options) {
10
10
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'DialogsModule', package: 'dialog', peerDependencies: {
11
11
  // Peer dependency of buttons
12
- '@progress/kendo-angular-popup': '24.0.3',
12
+ '@progress/kendo-angular-popup': '24.1.0-develop.1',
13
13
  // Peer dependency of icons
14
14
  '@progress/kendo-svg-icons': '^4.0.0'
15
15
  } });
@@ -2,7 +2,6 @@
2
2
  * Copyright © 2026 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 { ComponentFactoryResolver } from '@angular/core';
6
5
  import { WindowSettings } from './models/window-settings';
7
6
  import { WindowContainerService } from '../window/window-container.service';
8
7
  import { WindowRef } from './models/window-ref';
@@ -13,16 +12,8 @@ import * as i0 from "@angular/core";
13
12
  * Use this service to open a Window component and manage its lifecycle. ([See example.](https://www.telerik.com/kendo-angular-ui/components/dialogs/window/service))
14
13
  */
15
14
  export declare class WindowService {
16
- /**
17
- * @hidden
18
- */
19
- private resolver;
20
15
  private containerService;
21
- constructor(
22
- /**
23
- * @hidden
24
- */
25
- resolver: ComponentFactoryResolver, containerService: WindowContainerService);
16
+ constructor(containerService: WindowContainerService);
26
17
  /**
27
18
  * Opens a Window component with the specified settings.
28
19
  *