@progress/kendo-angular-common 25.0.0-develop.3 → 25.0.0-develop.30

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/codemods/utils.js CHANGED
@@ -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
+ }
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { afterNextRender, EventEmitter, signal, Output, Input, Directive, Injectable, ChangeDetectionStrategy, Component, InjectionToken, HostBinding, ViewChild, Optional, isDevMode } from '@angular/core';
6
+ import { afterNextRender, EventEmitter, signal, Output, Input, Directive, Injectable, ChangeDetectionStrategy, Component, InjectionToken, HostBinding, ViewChild, Optional, isDevMode, SkipSelf, Inject } from '@angular/core';
7
7
  import { detectDesktopBrowser, detectMobileOS } from '@progress/kendo-common';
8
8
  import { Draggable } from '@progress/kendo-draggable';
9
9
  import { auditTime } from 'rxjs/operators';
@@ -251,7 +251,7 @@ class DraggableDirective {
251
251
  kendoPress = new EventEmitter();
252
252
  kendoDrag = new EventEmitter();
253
253
  kendoRelease = new EventEmitter();
254
- draggable;
254
+ draggable = signal(undefined, ...(ngDevMode ? [{ debugName: "draggable" }] : []));
255
255
  _enableDrag = signal(true, ...(ngDevMode ? [{ debugName: "_enableDrag" }] : []));
256
256
  constructor(element, ngZone) {
257
257
  this.element = element;
@@ -265,25 +265,25 @@ class DraggableDirective {
265
265
  if (isDocumentAvailable()) {
266
266
  this.destroyDraggable();
267
267
  if (this.enableDrag) {
268
- this.draggable = new Draggable({
268
+ this.draggable.set(new Draggable({
269
269
  drag: (e) => this.kendoDrag.next(e),
270
270
  press: (e) => this.kendoPress.next(e),
271
271
  release: (e) => this.kendoRelease.next(e)
272
- });
273
- this.ngZone.runOutsideAngular(() => this.draggable?.bindTo(this.element.nativeElement));
272
+ }));
273
+ this.ngZone.runOutsideAngular(() => this.draggable()?.bindTo(this.element.nativeElement));
274
274
  }
275
275
  }
276
276
  }
277
277
  destroyDraggable() {
278
- if (this.draggable) {
279
- this.draggable.destroy();
280
- this.draggable = undefined;
278
+ if (this.draggable()) {
279
+ this.draggable()?.destroy();
280
+ this.draggable.set(undefined);
281
281
  }
282
282
  }
283
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DraggableDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
284
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: DraggableDirective, isStandalone: true, selector: "[kendoDraggable]", inputs: { enableDrag: "enableDrag" }, outputs: { kendoPress: "kendoPress", kendoDrag: "kendoDrag", kendoRelease: "kendoRelease" }, ngImport: i0 });
283
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: DraggableDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
284
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: DraggableDirective, isStandalone: true, selector: "[kendoDraggable]", inputs: { enableDrag: "enableDrag" }, outputs: { kendoPress: "kendoPress", kendoDrag: "kendoDrag", kendoRelease: "kendoRelease" }, ngImport: i0 });
285
285
  }
286
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DraggableDirective, decorators: [{
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: DraggableDirective, decorators: [{
287
287
  type: Directive,
288
288
  args: [{
289
289
  selector: '[kendoDraggable]',
@@ -484,10 +484,10 @@ class EventsOutsideAngularDirective {
484
484
  this.subscriptions = null;
485
485
  }
486
486
  }
487
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EventsOutsideAngularDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
488
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: EventsOutsideAngularDirective, isStandalone: true, selector: "[kendoEventsOutsideAngular]", inputs: { events: ["kendoEventsOutsideAngular", "events"], scope: "scope" }, ngImport: i0 });
487
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: EventsOutsideAngularDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
488
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: EventsOutsideAngularDirective, isStandalone: true, selector: "[kendoEventsOutsideAngular]", inputs: { events: ["kendoEventsOutsideAngular", "events"], scope: "scope" }, ngImport: i0 });
489
489
  }
490
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EventsOutsideAngularDirective, decorators: [{
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: EventsOutsideAngularDirective, decorators: [{
491
491
  type: Directive,
492
492
  args: [{
493
493
  selector: '[kendoEventsOutsideAngular]',
@@ -503,11 +503,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
503
503
  class ResizeService {
504
504
  resizeBatchService;
505
505
  resize = new EventEmitter();
506
- acceptedSize = false;
507
- lastWidth;
508
- lastHeight;
509
- state = 0 /* ServiceState.Initial */;
510
- parentElement;
506
+ set acceptedSize(value) { this._acceptedSize.set(value); }
507
+ get acceptedSize() { return this._acceptedSize(); }
508
+ set lastWidth(value) { this._lastWidth?.set(value); }
509
+ get lastWidth() { return this._lastWidth?.(); }
510
+ set lastHeight(value) { this._lastHeight?.set(value); }
511
+ get lastHeight() { return this._lastHeight?.(); }
512
+ set state(value) { this._state.set(value); }
513
+ get state() { return this._state(); }
514
+ set parentElement(value) { this._parentElement.set(value); }
515
+ get parentElement() { return this._parentElement(); }
516
+ _acceptedSize = signal(false, ...(ngDevMode ? [{ debugName: "_acceptedSize" }] : []));
517
+ _lastWidth = signal(undefined, ...(ngDevMode ? [{ debugName: "_lastWidth" }] : []));
518
+ _lastHeight = signal(undefined, ...(ngDevMode ? [{ debugName: "_lastHeight" }] : []));
519
+ _state = signal(0 /* ServiceState.Initial */, ...(ngDevMode ? [{ debugName: "_state" }] : []));
520
+ _parentElement = signal(null, ...(ngDevMode ? [{ debugName: "_parentElement" }] : []));
511
521
  constructor(resizeBatchService) {
512
522
  this.resizeBatchService = resizeBatchService;
513
523
  }
@@ -597,9 +607,15 @@ const SHRINK_CHILD_STYLES = {
597
607
  class ResizeCompatService extends ResizeService {
598
608
  element;
599
609
  ngZone;
600
- expand;
601
- expandChild;
602
- shrink;
610
+ set expand(value) { this._expand.set(value); }
611
+ get expand() { return this._expand(); }
612
+ set expandChild(value) { this._expandChild.set(value); }
613
+ get expandChild() { return this._expandChild(); }
614
+ set shrink(value) { this._shrink.set(value); }
615
+ get shrink() { return this._shrink(); }
616
+ _expand = signal(null, ...(ngDevMode ? [{ debugName: "_expand" }] : []));
617
+ _expandChild = signal(null, ...(ngDevMode ? [{ debugName: "_expandChild" }] : []));
618
+ _shrink = signal(null, ...(ngDevMode ? [{ debugName: "_shrink" }] : []));
603
619
  subscription;
604
620
  constructor(resizeBatchService, element, ngZone) {
605
621
  super(resizeBatchService);
@@ -695,10 +711,12 @@ const HAS_OBSERVER = typeof ResizeObserver !== 'undefined';
695
711
  class ResizeObserverService extends ResizeService {
696
712
  element;
697
713
  ngZone;
698
- resizeObserver;
714
+ set resizeObserver(value) { this._resizeObserver.set(value); }
715
+ get resizeObserver() { return this._resizeObserver(); }
699
716
  static supported() {
700
717
  return HAS_OBSERVER;
701
718
  }
719
+ _resizeObserver = signal(null, ...(ngDevMode ? [{ debugName: "_resizeObserver" }] : []));
702
720
  constructor(resizeBatchService, element, ngZone) {
703
721
  super(resizeBatchService);
704
722
  this.element = element;
@@ -730,7 +748,9 @@ class ResizeObserverService extends ResizeService {
730
748
  */
731
749
  class ResizeBatchService {
732
750
  ngZone;
733
- scheduled = [];
751
+ set scheduled(value) { this._scheduled.set(value); }
752
+ get scheduled() { return this._scheduled(); }
753
+ _scheduled = signal([], ...(ngDevMode ? [{ debugName: "_scheduled" }] : []));
734
754
  resolvedPromise = Promise.resolve(null);
735
755
  subscription;
736
756
  constructor(ngZone) {
@@ -742,7 +762,9 @@ class ResizeBatchService {
742
762
  if (!this.subscription) {
743
763
  this.ngZone.runOutsideAngular(() => {
744
764
  this.subscription = from(this.resolvedPromise)
745
- .subscribe(this.flush);
765
+ .subscribe(() => {
766
+ this.flush();
767
+ });
746
768
  });
747
769
  }
748
770
  }
@@ -778,10 +800,10 @@ class ResizeBatchService {
778
800
  this.scheduled = [];
779
801
  this.unsubscribe();
780
802
  }
781
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeBatchService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
782
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeBatchService, providedIn: 'root' });
803
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ResizeBatchService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
804
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ResizeBatchService, providedIn: 'root' });
783
805
  }
784
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeBatchService, decorators: [{
806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ResizeBatchService, decorators: [{
785
807
  type: Injectable,
786
808
  args: [{
787
809
  providedIn: 'root'
@@ -811,7 +833,8 @@ class ResizeSensorComponent {
811
833
  */
812
834
  resize = new EventEmitter();
813
835
  subscription;
814
- resizeService;
836
+ set resizeService(value) { this._resizeService.set(value); }
837
+ get resizeService() { return this._resizeService(); }
815
838
  constructor(resizeBatchService, element, ngZone) {
816
839
  const serviceType = ResizeObserverService.supported() ? ResizeObserverService : ResizeCompatService;
817
840
  this.resizeService = new serviceType(resizeBatchService, element, ngZone);
@@ -825,6 +848,7 @@ class ResizeSensorComponent {
825
848
  });
826
849
  }
827
850
  _rateLimit = signal(DEFAULT_RATE_LIMIT, ...(ngDevMode ? [{ debugName: "_rateLimit" }] : []));
851
+ _resizeService = signal(undefined, ...(ngDevMode ? [{ debugName: "_resizeService" }] : []));
828
852
  ngAfterViewChecked() {
829
853
  this.resizeService.checkChanges();
830
854
  }
@@ -835,10 +859,10 @@ class ResizeSensorComponent {
835
859
  acceptSize(size) {
836
860
  this.resizeService.acceptSize(size);
837
861
  }
838
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeSensorComponent, deps: [{ token: ResizeBatchService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
839
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ResizeSensorComponent, isStandalone: true, selector: "kendo-resize-sensor", inputs: { rateLimit: "rateLimit" }, outputs: { resize: "resize" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
862
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ResizeSensorComponent, deps: [{ token: ResizeBatchService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
863
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.27", type: ResizeSensorComponent, isStandalone: true, selector: "kendo-resize-sensor", inputs: { rateLimit: "rateLimit" }, outputs: { resize: "resize" }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
840
864
  }
841
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeSensorComponent, decorators: [{
865
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ResizeSensorComponent, decorators: [{
842
866
  type: Component,
843
867
  args: [{
844
868
  selector: 'kendo-resize-sensor',
@@ -1117,19 +1141,59 @@ let bannerPresentOnPage = false;
1117
1141
  * @hidden
1118
1142
  */
1119
1143
  class WatermarkOverlayComponent {
1120
- licenseMessage;
1144
+ set licenseMessage(value) {
1145
+ this._licenseMessage.set(value);
1146
+ }
1147
+ get licenseMessage() {
1148
+ return this._licenseMessage();
1149
+ }
1121
1150
  banner;
1122
1151
  watermarkStyle = watermarkStyles;
1123
- isOpen = true;
1124
- isMobile = false;
1125
- isNarrow = false;
1126
- isCloseHovered = false;
1127
- isCTAHovered = false;
1128
- bannerMounted = false;
1152
+ set isOpen(value) {
1153
+ this._isOpen.set(value);
1154
+ }
1155
+ get isOpen() {
1156
+ return this._isOpen();
1157
+ }
1158
+ set isMobile(value) {
1159
+ this._isMobile.set(value);
1160
+ }
1161
+ get isMobile() {
1162
+ return this._isMobile();
1163
+ }
1164
+ set isNarrow(value) {
1165
+ this._isNarrow.set(value);
1166
+ }
1167
+ get isNarrow() {
1168
+ return this._isNarrow();
1169
+ }
1170
+ set isCloseHovered(value) {
1171
+ this._isCloseHovered.set(value);
1172
+ }
1173
+ get isCloseHovered() {
1174
+ return this._isCloseHovered();
1175
+ }
1176
+ set isCTAHovered(value) {
1177
+ this._isCTAHovered.set(value);
1178
+ }
1179
+ get isCTAHovered() {
1180
+ return this._isCTAHovered();
1181
+ }
1182
+ set bannerMounted(value) {
1183
+ this._bannerMounted.set(value);
1184
+ }
1185
+ get bannerMounted() {
1186
+ return this._bannerMounted();
1187
+ }
1129
1188
  get messages() {
1130
1189
  return [this.primaryMessage, ...this.extraMessages];
1131
1190
  }
1132
- extraMessages = [];
1191
+ set extraMessages(value) {
1192
+ this._extraMessages.set(value);
1193
+ }
1194
+ get extraMessages() {
1195
+ return this._extraMessages();
1196
+ }
1133
1197
  get primaryMessage() {
1134
1198
  return (this.licenseMessage || {
1135
1199
  severity: 'ERROR',
@@ -1142,6 +1206,14 @@ class WatermarkOverlayComponent {
1142
1206
  });
1143
1207
  }
1144
1208
  licenseKeyUrl = licenseKeyUrl;
1209
+ _isOpen = signal(true, ...(ngDevMode ? [{ debugName: "_isOpen" }] : []));
1210
+ _isMobile = signal(false, ...(ngDevMode ? [{ debugName: "_isMobile" }] : []));
1211
+ _isNarrow = signal(false, ...(ngDevMode ? [{ debugName: "_isNarrow" }] : []));
1212
+ _isCloseHovered = signal(false, ...(ngDevMode ? [{ debugName: "_isCloseHovered" }] : []));
1213
+ _isCTAHovered = signal(false, ...(ngDevMode ? [{ debugName: "_isCTAHovered" }] : []));
1214
+ _bannerMounted = signal(false, ...(ngDevMode ? [{ debugName: "_bannerMounted" }] : []));
1215
+ _licenseMessage = signal(undefined, ...(ngDevMode ? [{ debugName: "_licenseMessage" }] : []));
1216
+ _extraMessages = signal([], ...(ngDevMode ? [{ debugName: "_extraMessages" }] : []));
1145
1217
  getContent(msg) {
1146
1218
  const iconContent = msg.notificationIcon?.content;
1147
1219
  return {
@@ -1187,7 +1259,7 @@ class WatermarkOverlayComponent {
1187
1259
  subscribeLicenseMessage() {
1188
1260
  this.unsubscribeLicenseMessage = registerLicenseMessage(this.licenseMessage, 'KENDOUIANGULAR', ({ message }) => {
1189
1261
  // Add messages from other suites
1190
- this.extraMessages.push(message);
1262
+ this._extraMessages.update(msgs => [...msgs, message]);
1191
1263
  }, () => {
1192
1264
  // Show our own message dialog
1193
1265
  this.bannerMounted = true;
@@ -1205,8 +1277,8 @@ class WatermarkOverlayComponent {
1205
1277
  resetPresenceCheck() {
1206
1278
  bannerPresentOnPage = false;
1207
1279
  }
1208
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: WatermarkOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1209
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: WatermarkOverlayComponent, isStandalone: true, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: { licenseMessage: "licenseMessage" }, host: { properties: { "style": "this.watermarkStyle" } }, viewQueries: [{ propertyName: "banner", first: true, predicate: ["banner"], descendants: true }], ngImport: i0, template: `
1280
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: WatermarkOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1281
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.27", type: WatermarkOverlayComponent, isStandalone: true, selector: "div[kendoWatermarkOverlay], kendo-watermark-overlay", inputs: { licenseMessage: "licenseMessage" }, host: { properties: { "style": "this.watermarkStyle" } }, viewQueries: [{ propertyName: "banner", first: true, predicate: ["banner"], descendants: true }], ngImport: i0, template: `
1210
1282
  <ng-template #buttonTemplate>
1211
1283
  <button
1212
1284
  [ngStyle]="{
@@ -1358,9 +1430,9 @@ class WatermarkOverlayComponent {
1358
1430
  }
1359
1431
  </div>
1360
1432
  }
1361
- `, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
1433
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1362
1434
  }
1363
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: WatermarkOverlayComponent, decorators: [{
1435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: WatermarkOverlayComponent, decorators: [{
1364
1436
  type: Component,
1365
1437
  args: [{
1366
1438
  selector: 'div[kendoWatermarkOverlay], kendo-watermark-overlay',
@@ -1519,6 +1591,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1519
1591
  `,
1520
1592
  standalone: true,
1521
1593
  imports: [NgStyle, NgTemplateOutlet],
1594
+ changeDetection: ChangeDetectionStrategy.OnPush,
1522
1595
  }]
1523
1596
  }], propDecorators: { licenseMessage: [{
1524
1597
  type: Input
@@ -1530,7 +1603,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImpo
1530
1603
  args: ['style']
1531
1604
  }] } });
1532
1605
 
1533
- const allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app'];
1606
+ const allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app', 'webcontainer.io'];
1534
1607
  /**
1535
1608
  * @hidden
1536
1609
  */
@@ -1581,10 +1654,10 @@ class PrefixTemplateDirective {
1581
1654
  constructor(templateRef) {
1582
1655
  this.templateRef = templateRef;
1583
1656
  }
1584
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PrefixTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1585
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PrefixTemplateDirective, isStandalone: true, selector: "[kendoPrefixTemplate]", inputs: { showSeparator: "showSeparator" }, ngImport: i0 });
1657
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PrefixTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1658
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: PrefixTemplateDirective, isStandalone: true, selector: "[kendoPrefixTemplate]", inputs: { showSeparator: "showSeparator" }, ngImport: i0 });
1586
1659
  }
1587
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PrefixTemplateDirective, decorators: [{
1660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: PrefixTemplateDirective, decorators: [{
1588
1661
  type: Directive,
1589
1662
  args: [{
1590
1663
  selector: '[kendoPrefixTemplate]',
@@ -1635,10 +1708,10 @@ class SuffixTemplateDirective {
1635
1708
  constructor(templateRef) {
1636
1709
  this.templateRef = templateRef;
1637
1710
  }
1638
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuffixTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1639
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: SuffixTemplateDirective, isStandalone: true, selector: "[kendoSuffixTemplate]", inputs: { showSeparator: "showSeparator" }, ngImport: i0 });
1711
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SuffixTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1712
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: SuffixTemplateDirective, isStandalone: true, selector: "[kendoSuffixTemplate]", inputs: { showSeparator: "showSeparator" }, ngImport: i0 });
1640
1713
  }
1641
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuffixTemplateDirective, decorators: [{
1714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SuffixTemplateDirective, decorators: [{
1642
1715
  type: Directive,
1643
1716
  args: [{
1644
1717
  selector: '[kendoSuffixTemplate]',
@@ -1692,10 +1765,10 @@ class SeparatorComponent {
1692
1765
  * @hidden
1693
1766
  */
1694
1767
  hostClass = true;
1695
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1696
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: SeparatorComponent, isStandalone: true, selector: "kendo-separator", inputs: { orientation: "orientation" }, host: { properties: { "class.k-input-separator-vertical": "this.vertical", "class.k-input-separator-horizontal": "this.horizontal", "class.k-input-separator": "this.hostClass" } }, ngImport: i0, template: ``, isInline: true });
1768
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1769
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.27", type: SeparatorComponent, isStandalone: true, selector: "kendo-separator", inputs: { orientation: "orientation" }, host: { properties: { "class.k-input-separator-vertical": "this.vertical", "class.k-input-separator-horizontal": "this.horizontal", "class.k-input-separator": "this.hostClass" } }, ngImport: i0, template: ``, isInline: true });
1697
1770
  }
1698
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SeparatorComponent, decorators: [{
1771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: SeparatorComponent, decorators: [{
1699
1772
  type: Component,
1700
1773
  args: [{
1701
1774
  selector: 'kendo-separator',
@@ -1820,10 +1893,10 @@ class ScrollbarService {
1820
1893
  this.subscription?.unsubscribe();
1821
1894
  this.subscription = null;
1822
1895
  }
1823
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollbarService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1824
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollbarService, providedIn: 'root' });
1896
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ScrollbarService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1897
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ScrollbarService, providedIn: 'root' });
1825
1898
  }
1826
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollbarService, decorators: [{
1899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ScrollbarService, decorators: [{
1827
1900
  type: Injectable,
1828
1901
  args: [{
1829
1902
  providedIn: 'root'
@@ -2080,10 +2153,10 @@ class ToggleButtonTabStopDirective {
2080
2153
  this.observer.observe(mainFocusableElement, mutationConfig);
2081
2154
  });
2082
2155
  }
2083
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ToggleButtonTabStopDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.Injector }, { token: MultiTabStop }], target: i0.ɵɵFactoryTarget.Directive });
2084
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ToggleButtonTabStopDirective, isStandalone: true, selector: "[kendoToggleButtonTabStop]", inputs: { active: ["kendoToggleButtonTabStop", "active"], toggleButtonAriaLabel: "toggleButtonAriaLabel" }, usesOnChanges: true, ngImport: i0 });
2156
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ToggleButtonTabStopDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.Injector }, { token: MultiTabStop }], target: i0.ɵɵFactoryTarget.Directive });
2157
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: ToggleButtonTabStopDirective, isStandalone: true, selector: "[kendoToggleButtonTabStop]", inputs: { active: ["kendoToggleButtonTabStop", "active"], toggleButtonAriaLabel: "toggleButtonAriaLabel" }, usesOnChanges: true, ngImport: i0 });
2085
2158
  }
2086
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ToggleButtonTabStopDirective, decorators: [{
2159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ToggleButtonTabStopDirective, decorators: [{
2087
2160
  type: Directive,
2088
2161
  args: [{
2089
2162
  selector: '[kendoToggleButtonTabStop]',
@@ -2114,10 +2187,10 @@ class TemplateContextDirective {
2114
2187
  constructor(viewContainerRef) {
2115
2188
  this.viewContainerRef = viewContainerRef;
2116
2189
  }
2117
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TemplateContextDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
2118
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: TemplateContextDirective, isStandalone: true, selector: "[templateContext]", inputs: { templateContext: "templateContext" }, ngImport: i0 });
2190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: TemplateContextDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
2191
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: TemplateContextDirective, isStandalone: true, selector: "[templateContext]", inputs: { templateContext: "templateContext" }, ngImport: i0 });
2119
2192
  }
2120
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TemplateContextDirective, decorators: [{
2193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: TemplateContextDirective, decorators: [{
2121
2194
  type: Directive,
2122
2195
  args: [{
2123
2196
  selector: '[templateContext]',
@@ -2186,11 +2259,92 @@ const KENDO_TEMPLATE_CONTEXT = [
2186
2259
  /**
2187
2260
  * @hidden
2188
2261
  */
2189
- const replaceMessagePlaceholder = (message, name, value) => (message ?? '').replace(new RegExp(`{\\s*${name}\\s*}`, 'g'), value);
2262
+ const replaceMessagePlaceholder = (message, name, value) => (message ?? '').replace(new RegExp(`\\[\\[\\s*${name}\\s*]]|{\\s*${name}\\s*}`, 'g'), value);
2263
+
2264
+ /**
2265
+ * An injection token that holds the accumulated component ancestry chain (outermost -> innermost).
2266
+ * Kendo components add their identifier to the chain through `provideComponentName`.
2267
+ * Used internally by features that need to forward component context to a service (for example,
2268
+ * per-component icon overrides).
2269
+ *
2270
+ * @hidden
2271
+ */
2272
+ const KENDO_COMPONENT_NAME = new InjectionToken('Kendo Component Name');
2273
+ /**
2274
+ * Adds `name` to the ancestry chain provided by any parent component, so nested components
2275
+ * automatically accumulate the full ancestry chain without any coordination between packages.
2276
+ *
2277
+ * @hidden
2278
+ */
2279
+ function provideComponentName(name) {
2280
+ return {
2281
+ provide: KENDO_COMPONENT_NAME,
2282
+ useFactory: (parentChain) => parentChain ? [...parentChain, name] : [name],
2283
+ deps: [[new Optional(), new SkipSelf(), KENDO_COMPONENT_NAME]]
2284
+ };
2285
+ }
2286
+
2287
+ /**
2288
+ * Appends a component identifier to the icon component-name ancestry chain for a template subtree.
2289
+ *
2290
+ * Use this directive when a component declares a template at its own root but that template is rendered
2291
+ * inside a different (child) component through `ngTemplateOutlet` — for example, the default Pager
2292
+ * template that the Grid and TreeList declare and the Pager renders. Because an embedded view resolves
2293
+ * element-level DI from its lexical declaration site, the rendering component would otherwise be missing
2294
+ * from the ancestry chain and per-component icon overrides for it would not apply. Wrap the projected
2295
+ * content with this directive to restore the missing segment.
2296
+ *
2297
+ * @hidden
2298
+ */
2299
+ class ComponentNameDirective {
2300
+ /**
2301
+ * The component identifier to append to the ancestry chain.
2302
+ */
2303
+ name;
2304
+ parentChain;
2305
+ constructor(parentChain) {
2306
+ this.parentChain = parentChain;
2307
+ }
2308
+ /**
2309
+ * The accumulated ancestry chain including this component identifier.
2310
+ */
2311
+ get chain() {
2312
+ const parent = this.parentChain ?? [];
2313
+ return this.name ? [...parent, this.name] : parent;
2314
+ }
2315
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ComponentNameDirective, deps: [{ token: KENDO_COMPONENT_NAME, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
2316
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.27", type: ComponentNameDirective, isStandalone: true, selector: "[kendoComponentName]", inputs: { name: ["kendoComponentName", "name"] }, providers: [{
2317
+ provide: KENDO_COMPONENT_NAME,
2318
+ useFactory: (directive) => directive.chain,
2319
+ deps: [ComponentNameDirective]
2320
+ }], ngImport: i0 });
2321
+ }
2322
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.27", ngImport: i0, type: ComponentNameDirective, decorators: [{
2323
+ type: Directive,
2324
+ args: [{
2325
+ selector: '[kendoComponentName]',
2326
+ standalone: true,
2327
+ providers: [{
2328
+ provide: KENDO_COMPONENT_NAME,
2329
+ useFactory: (directive) => directive.chain,
2330
+ deps: [ComponentNameDirective]
2331
+ }]
2332
+ }]
2333
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
2334
+ type: Optional
2335
+ }, {
2336
+ type: SkipSelf
2337
+ }, {
2338
+ type: Inject,
2339
+ args: [KENDO_COMPONENT_NAME]
2340
+ }] }], propDecorators: { name: [{
2341
+ type: Input,
2342
+ args: ['kendoComponentName']
2343
+ }] } });
2190
2344
 
2191
2345
  /**
2192
2346
  * Generated bundle index. Do not edit.
2193
2347
  */
2194
2348
 
2195
- export { ScrollbarService as BrowserSupportService, DraggableDirective, EventsOutsideAngularDirective, KENDO_ADORNMENTS, KENDO_COMMON, KENDO_DRAGGABLE, KENDO_EVENTS, KENDO_RESIZESENSOR, KENDO_TEMPLATE_CONTEXT, KENDO_TOGGLEBUTTONTABSTOP, KENDO_WATERMARK, KENDO_WEBMCP_HOST, KendoInput, Keys, MultiTabStop, PrefixTemplateDirective, PreventableEvent, ResizeBatchService, ResizeCompatService, ResizeObserverService, ResizeSensorComponent, ScrollbarService, SeparatorComponent, SuffixTemplateDirective, TemplateContextDirective, ToggleButtonTabStopDirective, WatermarkOverlayComponent, anyChanged, applyAttributes, areObjectsEqual, closest, closestBySelector, closestInScope, contains, findElement, findFocusable, findFocusableChild, firefoxMaxHeight, focusableSelector, getLicenseMessage, getter, guid, hasClasses, hasFocusableParent, hasObservers, isChanged, isControlRequired, isDocumentAvailable, isFirefox, isFocusable, isFocusableWithTabKey, isObject, isObjectPresent, isPresent, isSafari, isSet, isString, isVisible, matchesClasses, matchesNodeName, normalizeKeys, parseAttributes, parseCSSClassNames, processCssValue, removeHTMLAttributes, replaceMessagePlaceholder, rtlScrollLeft, rtlScrollPosition, scrollbarWidth, setHTMLAttributes, setter, shouldShowValidationUI, splitStringToArray };
2349
+ export { ScrollbarService as BrowserSupportService, ComponentNameDirective, DraggableDirective, EventsOutsideAngularDirective, KENDO_ADORNMENTS, KENDO_COMMON, KENDO_COMPONENT_NAME, KENDO_DRAGGABLE, KENDO_EVENTS, KENDO_RESIZESENSOR, KENDO_TEMPLATE_CONTEXT, KENDO_TOGGLEBUTTONTABSTOP, KENDO_WATERMARK, KENDO_WEBMCP_HOST, KendoInput, Keys, MultiTabStop, PrefixTemplateDirective, PreventableEvent, ResizeBatchService, ResizeCompatService, ResizeObserverService, ResizeSensorComponent, ScrollbarService, SeparatorComponent, SuffixTemplateDirective, TemplateContextDirective, ToggleButtonTabStopDirective, WatermarkOverlayComponent, anyChanged, applyAttributes, areObjectsEqual, closest, closestBySelector, closestInScope, contains, findElement, findFocusable, findFocusableChild, firefoxMaxHeight, focusableSelector, getLicenseMessage, getter, guid, hasClasses, hasFocusableParent, hasObservers, isChanged, isControlRequired, isDocumentAvailable, isFirefox, isFocusable, isFocusableWithTabKey, isObject, isObjectPresent, isPresent, isSafari, isSet, isString, isVisible, matchesClasses, matchesNodeName, normalizeKeys, parseAttributes, parseCSSClassNames, processCssValue, provideComponentName, removeHTMLAttributes, replaceMessagePlaceholder, rtlScrollLeft, rtlScrollPosition, scrollbarWidth, setHTMLAttributes, setter, shouldShowValidationUI, splitStringToArray };
2196
2350
 
package/index.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as i0 from '@angular/core';
6
- import { OnDestroy, EventEmitter, ElementRef, NgZone, OnInit, Renderer2, AfterViewChecked, InjectionToken, SimpleChanges, Injector, AfterViewInit, TemplateRef, ViewContainerRef } from '@angular/core';
6
+ import { OnDestroy, EventEmitter, ElementRef, NgZone, OnInit, Renderer2, AfterViewChecked, InjectionToken, SimpleChanges, Injector, AfterViewInit, TemplateRef, ViewContainerRef, Provider } from '@angular/core';
7
7
  import { AbstractControl } from '@angular/forms';
8
8
  import { LicenseMessage, PackageMetadata } from '@progress/kendo-licensing';
9
9
 
@@ -83,7 +83,9 @@ declare class EventsOutsideAngularDirective implements OnInit, OnDestroy {
83
83
  */
84
84
  declare class ResizeBatchService implements OnDestroy {
85
85
  private ngZone;
86
- private scheduled;
86
+ private set scheduled(value);
87
+ private get scheduled();
88
+ private _scheduled;
87
89
  private resolvedPromise;
88
90
  private subscription?;
89
91
  constructor(ngZone: NgZone);
@@ -115,9 +117,11 @@ declare class ResizeSensorComponent implements OnDestroy, AfterViewChecked {
115
117
  */
116
118
  resize: EventEmitter<any>;
117
119
  private subscription;
118
- private resizeService;
120
+ private set resizeService(value);
121
+ private get resizeService();
119
122
  constructor(resizeBatchService: ResizeBatchService, element: ElementRef, ngZone: NgZone);
120
123
  private _rateLimit;
124
+ private _resizeService;
121
125
  ngAfterViewChecked(): void;
122
126
  ngOnDestroy(): void;
123
127
  acceptSize(size?: any): void;
@@ -133,12 +137,22 @@ declare const enum ServiceState {
133
137
  declare abstract class ResizeService {
134
138
  protected resizeBatchService: ResizeBatchService;
135
139
  resize: EventEmitter<any>;
136
- acceptedSize: boolean;
137
- lastWidth?: number;
138
- lastHeight?: number;
139
- protected state: ServiceState;
140
- protected parentElement: any;
140
+ set acceptedSize(value: boolean);
141
+ get acceptedSize(): boolean;
142
+ set lastWidth(value: number | undefined);
143
+ get lastWidth(): number | undefined;
144
+ set lastHeight(value: number | undefined);
145
+ get lastHeight(): number | undefined;
146
+ protected set state(value: ServiceState);
147
+ protected get state(): ServiceState;
148
+ protected set parentElement(value: any);
149
+ protected get parentElement(): any;
141
150
  protected abstract init(): void;
151
+ private _acceptedSize;
152
+ private _lastWidth?;
153
+ private _lastHeight?;
154
+ private _state;
155
+ private _parentElement;
142
156
  constructor(resizeBatchService: ResizeBatchService);
143
157
  acceptSize(size?: any): void;
144
158
  checkChanges(): void;
@@ -151,9 +165,15 @@ declare abstract class ResizeService {
151
165
  declare class ResizeCompatService extends ResizeService {
152
166
  private element;
153
167
  private ngZone;
154
- private expand;
155
- private expandChild;
156
- private shrink;
168
+ private set expand(value);
169
+ private get expand();
170
+ private set expandChild(value);
171
+ private get expandChild();
172
+ private set shrink(value);
173
+ private get shrink();
174
+ private _expand;
175
+ private _expandChild;
176
+ private _shrink;
157
177
  private subscription?;
158
178
  constructor(resizeBatchService: ResizeBatchService, element: ElementRef | null, ngZone: NgZone);
159
179
  checkChanges(): void;
@@ -171,8 +191,10 @@ declare class ResizeCompatService extends ResizeService {
171
191
  declare class ResizeObserverService extends ResizeService {
172
192
  private element;
173
193
  private ngZone;
174
- private resizeObserver;
194
+ private set resizeObserver(value);
195
+ private get resizeObserver();
175
196
  static supported(): boolean;
197
+ private _resizeObserver;
176
198
  constructor(resizeBatchService: ResizeBatchService, element: ElementRef, ngZone: NgZone);
177
199
  destroy(): void;
178
200
  protected init(): void;
@@ -409,19 +431,35 @@ declare function setter(field: string): any;
409
431
  * @hidden
410
432
  */
411
433
  declare class WatermarkOverlayComponent implements OnInit, AfterViewInit, OnDestroy {
412
- licenseMessage?: LicenseMessage;
434
+ set licenseMessage(value: LicenseMessage | undefined);
435
+ get licenseMessage(): LicenseMessage | undefined;
413
436
  banner: ElementRef;
414
437
  watermarkStyle: string;
415
- isOpen: boolean;
416
- isMobile: boolean;
417
- isNarrow: boolean;
418
- isCloseHovered: boolean;
419
- isCTAHovered: boolean;
420
- bannerMounted: boolean;
438
+ set isOpen(value: boolean);
439
+ get isOpen(): boolean;
440
+ set isMobile(value: boolean);
441
+ get isMobile(): boolean;
442
+ set isNarrow(value: boolean);
443
+ get isNarrow(): boolean;
444
+ set isCloseHovered(value: boolean);
445
+ get isCloseHovered(): boolean;
446
+ set isCTAHovered(value: boolean);
447
+ get isCTAHovered(): boolean;
448
+ set bannerMounted(value: boolean);
449
+ get bannerMounted(): boolean;
421
450
  get messages(): LicenseMessage[];
422
- extraMessages: LicenseMessage[];
451
+ set extraMessages(value: LicenseMessage[]);
452
+ get extraMessages(): LicenseMessage[];
423
453
  get primaryMessage(): LicenseMessage;
424
454
  licenseKeyUrl: string;
455
+ private _isOpen;
456
+ private _isMobile;
457
+ private _isNarrow;
458
+ private _isCloseHovered;
459
+ private _isCTAHovered;
460
+ private _bannerMounted;
461
+ private _licenseMessage;
462
+ private _extraMessages;
425
463
  getContent(msg: LicenseMessage): {
426
464
  iconSrc?: string;
427
465
  title: string;
@@ -737,5 +775,49 @@ declare const KENDO_TEMPLATE_CONTEXT: readonly [typeof TemplateContextDirective]
737
775
  */
738
776
  declare const replaceMessagePlaceholder: (message: string, name: string, value: string) => string;
739
777
 
740
- export { ScrollbarService as BrowserSupportService, DraggableDirective, EventsOutsideAngularDirective, KENDO_ADORNMENTS, KENDO_COMMON, KENDO_DRAGGABLE, KENDO_EVENTS, KENDO_RESIZESENSOR, KENDO_TEMPLATE_CONTEXT, KENDO_TOGGLEBUTTONTABSTOP, KENDO_WATERMARK, KENDO_WEBMCP_HOST, KendoInput, Keys, MultiTabStop, PrefixTemplateDirective, PreventableEvent, ResizeBatchService, ResizeCompatService, ResizeObserverService, ResizeSensorComponent, ScrollbarService, SeparatorComponent, SuffixTemplateDirective, TemplateContextDirective, ToggleButtonTabStopDirective, WatermarkOverlayComponent, anyChanged, applyAttributes, areObjectsEqual, closest, closestBySelector, closestInScope, contains, findElement, findFocusable, findFocusableChild, firefoxMaxHeight, focusableSelector, getLicenseMessage, getter, guid, hasClasses, hasFocusableParent, hasObservers, isChanged, isControlRequired, isDocumentAvailable, isFirefox, isFocusable, isFocusableWithTabKey, isObject, isObjectPresent, isPresent, isSafari, isSet, isString, isVisible, matchesClasses, matchesNodeName, normalizeKeys, parseAttributes, parseCSSClassNames, processCssValue, removeHTMLAttributes, replaceMessagePlaceholder, rtlScrollLeft, rtlScrollPosition, scrollbarWidth, setHTMLAttributes, setter, shouldShowValidationUI, splitStringToArray };
778
+ /**
779
+ * An injection token that holds the accumulated component ancestry chain (outermost -> innermost).
780
+ * Kendo components add their identifier to the chain through `provideComponentName`.
781
+ * Used internally by features that need to forward component context to a service (for example,
782
+ * per-component icon overrides).
783
+ *
784
+ * @hidden
785
+ */
786
+ declare const KENDO_COMPONENT_NAME: InjectionToken<string[]>;
787
+ /**
788
+ * Adds `name` to the ancestry chain provided by any parent component, so nested components
789
+ * automatically accumulate the full ancestry chain without any coordination between packages.
790
+ *
791
+ * @hidden
792
+ */
793
+ declare function provideComponentName(name: string): Provider;
794
+
795
+ /**
796
+ * Appends a component identifier to the icon component-name ancestry chain for a template subtree.
797
+ *
798
+ * Use this directive when a component declares a template at its own root but that template is rendered
799
+ * inside a different (child) component through `ngTemplateOutlet` — for example, the default Pager
800
+ * template that the Grid and TreeList declare and the Pager renders. Because an embedded view resolves
801
+ * element-level DI from its lexical declaration site, the rendering component would otherwise be missing
802
+ * from the ancestry chain and per-component icon overrides for it would not apply. Wrap the projected
803
+ * content with this directive to restore the missing segment.
804
+ *
805
+ * @hidden
806
+ */
807
+ declare class ComponentNameDirective {
808
+ /**
809
+ * The component identifier to append to the ancestry chain.
810
+ */
811
+ name: string;
812
+ private parentChain;
813
+ constructor(parentChain: string[]);
814
+ /**
815
+ * The accumulated ancestry chain including this component identifier.
816
+ */
817
+ get chain(): string[];
818
+ static ɵfac: i0.ɵɵFactoryDeclaration<ComponentNameDirective, [{ optional: true; skipSelf: true; }]>;
819
+ static ɵdir: i0.ɵɵDirectiveDeclaration<ComponentNameDirective, "[kendoComponentName]", never, { "name": { "alias": "kendoComponentName"; "required": false; }; }, {}, never, never, true, never>;
820
+ }
821
+
822
+ export { ScrollbarService as BrowserSupportService, ComponentNameDirective, DraggableDirective, EventsOutsideAngularDirective, KENDO_ADORNMENTS, KENDO_COMMON, KENDO_COMPONENT_NAME, KENDO_DRAGGABLE, KENDO_EVENTS, KENDO_RESIZESENSOR, KENDO_TEMPLATE_CONTEXT, KENDO_TOGGLEBUTTONTABSTOP, KENDO_WATERMARK, KENDO_WEBMCP_HOST, KendoInput, Keys, MultiTabStop, PrefixTemplateDirective, PreventableEvent, ResizeBatchService, ResizeCompatService, ResizeObserverService, ResizeSensorComponent, ScrollbarService, SeparatorComponent, SuffixTemplateDirective, TemplateContextDirective, ToggleButtonTabStopDirective, WatermarkOverlayComponent, anyChanged, applyAttributes, areObjectsEqual, closest, closestBySelector, closestInScope, contains, findElement, findFocusable, findFocusableChild, firefoxMaxHeight, focusableSelector, getLicenseMessage, getter, guid, hasClasses, hasFocusableParent, hasObservers, isChanged, isControlRequired, isDocumentAvailable, isFirefox, isFocusable, isFocusableWithTabKey, isObject, isObjectPresent, isPresent, isSafari, isSet, isString, isVisible, matchesClasses, matchesNodeName, normalizeKeys, parseAttributes, parseCSSClassNames, processCssValue, provideComponentName, removeHTMLAttributes, replaceMessagePlaceholder, rtlScrollLeft, rtlScrollPosition, scrollbarWidth, setHTMLAttributes, setter, shouldShowValidationUI, splitStringToArray };
741
823
  export type { SeparatorOrientation };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-common",
3
- "version": "25.0.0-develop.3",
3
+ "version": "25.0.0-develop.30",
4
4
  "description": "Kendo UI for Angular - Utility Package",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -23,7 +23,7 @@
23
23
  "@progress/kendo-common": "^1.0.1",
24
24
  "@progress/kendo-draggable": "^3.0.2",
25
25
  "tslib": "^2.3.1",
26
- "@progress/kendo-angular-schematics": "25.0.0-develop.3"
26
+ "@progress/kendo-angular-schematics": "25.0.0-develop.30"
27
27
  },
28
28
  "publishConfig": {
29
29
  "access": "public"