@progress/kendo-angular-common 24.2.2 → 25.0.0-develop.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/fesm2022/progress-kendo-angular-common.mjs +176 -88
  2. package/index.d.ts +775 -20
  3. package/package.json +5 -5
  4. package/adornments/prefix.directive.d.ts +0 -36
  5. package/adornments/separator-orientation.d.ts +0 -8
  6. package/adornments/separator.component.d.ts +0 -47
  7. package/adornments/suffix.directive.d.ts +0 -42
  8. package/adornments.d.ts +0 -8
  9. package/directives.d.ts +0 -45
  10. package/dom-queries/closest-by-selector.d.ts +0 -5
  11. package/dom-queries/closest-in-scope.d.ts +0 -5
  12. package/dom-queries/closest.d.ts +0 -5
  13. package/dom-queries/contains.d.ts +0 -5
  14. package/dom-queries/find-element.d.ts +0 -5
  15. package/dom-queries/find-focusable-child.d.ts +0 -5
  16. package/dom-queries/find-focusable.d.ts +0 -5
  17. package/dom-queries/has-classes.d.ts +0 -5
  18. package/dom-queries/is-focusable-with-tab-key.d.ts +0 -5
  19. package/dom-queries/is-focusable.d.ts +0 -6
  20. package/dom-queries/is-visible.d.ts +0 -5
  21. package/dom-queries/matches-classes.d.ts +0 -5
  22. package/dom-queries/matches-node-name.d.ts +0 -5
  23. package/dom-queries/rtl-scroll-position.d.ts +0 -8
  24. package/dom-queries.d.ts +0 -19
  25. package/draggable/draggable.directive.d.ts +0 -23
  26. package/draggable.d.ts +0 -5
  27. package/enums/keys.d.ts +0 -74
  28. package/enums.d.ts +0 -5
  29. package/events/events-outside-angular.directive.d.ts +0 -22
  30. package/events.d.ts +0 -5
  31. package/localization/replace-message-placeholder.d.ts +0 -8
  32. package/preventable-event.d.ts +0 -18
  33. package/resize-sensor/compat.service.d.ts +0 -23
  34. package/resize-sensor/observer.service.d.ts +0 -19
  35. package/resize-sensor/resize-batch.service.d.ts +0 -24
  36. package/resize-sensor/resize-sensor.component.d.ts +0 -32
  37. package/resize-sensor/resize.service.d.ts +0 -28
  38. package/resize-sensor.d.ts +0 -8
  39. package/template-context/index.d.ts +0 -5
  40. package/template-context/template-context.directive.d.ts +0 -17
  41. package/toggle-button-tab-stop/toggle-button-tab-stop.d.ts +0 -11
  42. package/toggle-button-tab-stop/toggle-button-tab-stop.directive.d.ts +0 -72
  43. package/toggle-button-tab-stop.d.ts +0 -6
  44. package/tokens.d.ts +0 -14
  45. package/utils/any-changed.d.ts +0 -9
  46. package/utils/detect-browser.d.ts +0 -20
  47. package/utils/focusable-selectors.d.ts +0 -8
  48. package/utils/forms-utils.d.ts +0 -9
  49. package/utils/getter.d.ts +0 -8
  50. package/utils/guid.d.ts +0 -8
  51. package/utils/has-observers.d.ts +0 -9
  52. package/utils/html-attributes.d.ts +0 -33
  53. package/utils/is-changed.d.ts +0 -9
  54. package/utils/is-document-available.d.ts +0 -8
  55. package/utils/keys-normalizer.d.ts +0 -23
  56. package/utils/ng-class-parser.d.ts +0 -34
  57. package/utils/objects-equal.d.ts +0 -5
  58. package/utils/process-css-value.d.ts +0 -5
  59. package/utils/scrollbar.service.d.ts +0 -27
  60. package/utils/setter.d.ts +0 -8
  61. package/utils.d.ts +0 -14
  62. package/watermark/index.d.ts +0 -6
  63. package/watermark/utils.d.ts +0 -12
  64. package/watermark/validation.d.ts +0 -15
  65. package/watermark/watermark.component.d.ts +0 -44
@@ -3,10 +3,10 @@
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 { EventEmitter, Output, Input, Directive, Injectable, 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 } from '@angular/core';
7
7
  import { detectDesktopBrowser, detectMobileOS } from '@progress/kendo-common';
8
- import { take, auditTime } from 'rxjs/operators';
9
8
  import { Draggable } from '@progress/kendo-draggable';
9
+ import { auditTime } from 'rxjs/operators';
10
10
  import { merge, fromEvent, from, Subscription } from 'rxjs';
11
11
  import { NgStyle, NgTemplateOutlet } from '@angular/common';
12
12
  import { registerLicenseMessage, getLicenseStatus } from '@progress/kendo-licensing';
@@ -159,11 +159,12 @@ const parseArrayClassNames = (value) => {
159
159
  /**
160
160
  * @hidden
161
161
  */
162
- const setHTMLAttributes = (attributes, renderer, element, zone) => {
163
- if (zone) {
164
- zone.onStable.pipe(take(1)).subscribe(() => {
162
+ const setHTMLAttributes = (attributes, renderer, element, injector) => {
163
+ if (injector) {
164
+ // compatible both for zoned and zoneless apps
165
+ afterNextRender(() => {
165
166
  applyAttributes(attributes, renderer, element);
166
- });
167
+ }, { injector });
167
168
  }
168
169
  else {
169
170
  applyAttributes(attributes, renderer, element);
@@ -242,23 +243,21 @@ const processCssValue = (value) => {
242
243
  class DraggableDirective {
243
244
  element;
244
245
  ngZone;
245
- enableDrag = true;
246
+ set enableDrag(value) {
247
+ this._enableDrag.set(value);
248
+ this.toggleDraggable();
249
+ }
250
+ get enableDrag() { return this._enableDrag(); }
246
251
  kendoPress = new EventEmitter();
247
252
  kendoDrag = new EventEmitter();
248
253
  kendoRelease = new EventEmitter();
249
- draggable;
254
+ draggable = signal(undefined, ...(ngDevMode ? [{ debugName: "draggable" }] : []));
255
+ _enableDrag = signal(true, ...(ngDevMode ? [{ debugName: "_enableDrag" }] : []));
250
256
  constructor(element, ngZone) {
251
257
  this.element = element;
252
258
  this.ngZone = ngZone;
253
- }
254
- ngOnInit() {
255
259
  this.toggleDraggable();
256
260
  }
257
- ngOnChanges(changes) {
258
- if (isChanged('enableDrag', changes)) {
259
- this.toggleDraggable();
260
- }
261
- }
262
261
  ngOnDestroy() {
263
262
  this.destroyDraggable();
264
263
  }
@@ -266,25 +265,25 @@ class DraggableDirective {
266
265
  if (isDocumentAvailable()) {
267
266
  this.destroyDraggable();
268
267
  if (this.enableDrag) {
269
- this.draggable = new Draggable({
268
+ this.draggable.set(new Draggable({
270
269
  drag: (e) => this.kendoDrag.next(e),
271
270
  press: (e) => this.kendoPress.next(e),
272
271
  release: (e) => this.kendoRelease.next(e)
273
- });
274
- this.ngZone.runOutsideAngular(() => this.draggable?.bindTo(this.element.nativeElement));
272
+ }));
273
+ this.ngZone.runOutsideAngular(() => this.draggable()?.bindTo(this.element.nativeElement));
275
274
  }
276
275
  }
277
276
  }
278
277
  destroyDraggable() {
279
- if (this.draggable) {
280
- this.draggable.destroy();
281
- this.draggable = undefined;
278
+ if (this.draggable()) {
279
+ this.draggable()?.destroy();
280
+ this.draggable.set(undefined);
282
281
  }
283
282
  }
284
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DraggableDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
285
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: DraggableDirective, isStandalone: true, selector: "[kendoDraggable]", inputs: { enableDrag: "enableDrag" }, outputs: { kendoPress: "kendoPress", kendoDrag: "kendoDrag", kendoRelease: "kendoRelease" }, usesOnChanges: true, ngImport: i0 });
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 });
286
285
  }
287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: DraggableDirective, decorators: [{
286
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: DraggableDirective, decorators: [{
288
287
  type: Directive,
289
288
  args: [{
290
289
  selector: '[kendoDraggable]',
@@ -451,14 +450,18 @@ class EventsOutsideAngularDirective {
451
450
  element;
452
451
  ngZone;
453
452
  renderer;
454
- events = {};
455
- scope;
453
+ set events(value) { this._events.set(value); }
454
+ get events() { return this._events(); }
455
+ _scope = signal(undefined, ...(ngDevMode ? [{ debugName: "_scope" }] : []));
456
+ set scope(value) { this._scope.set(value); }
457
+ get scope() { return this._scope(); }
456
458
  subscriptions;
457
459
  constructor(element, ngZone, renderer) {
458
460
  this.element = element;
459
461
  this.ngZone = ngZone;
460
462
  this.renderer = renderer;
461
463
  }
464
+ _events = signal({}, ...(ngDevMode ? [{ debugName: "_events" }] : []));
462
465
  ngOnInit() {
463
466
  if (!this.element?.nativeElement) {
464
467
  return;
@@ -481,10 +484,10 @@ class EventsOutsideAngularDirective {
481
484
  this.subscriptions = null;
482
485
  }
483
486
  }
484
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EventsOutsideAngularDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
485
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.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.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 });
486
489
  }
487
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: EventsOutsideAngularDirective, decorators: [{
490
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: EventsOutsideAngularDirective, decorators: [{
488
491
  type: Directive,
489
492
  args: [{
490
493
  selector: '[kendoEventsOutsideAngular]',
@@ -500,11 +503,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
500
503
  class ResizeService {
501
504
  resizeBatchService;
502
505
  resize = new EventEmitter();
503
- acceptedSize = false;
504
- lastWidth;
505
- lastHeight;
506
- state = 0 /* ServiceState.Initial */;
507
- 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" }] : []));
508
521
  constructor(resizeBatchService) {
509
522
  this.resizeBatchService = resizeBatchService;
510
523
  }
@@ -594,9 +607,15 @@ const SHRINK_CHILD_STYLES = {
594
607
  class ResizeCompatService extends ResizeService {
595
608
  element;
596
609
  ngZone;
597
- expand;
598
- expandChild;
599
- 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" }] : []));
600
619
  subscription;
601
620
  constructor(resizeBatchService, element, ngZone) {
602
621
  super(resizeBatchService);
@@ -692,10 +711,12 @@ const HAS_OBSERVER = typeof ResizeObserver !== 'undefined';
692
711
  class ResizeObserverService extends ResizeService {
693
712
  element;
694
713
  ngZone;
695
- resizeObserver;
714
+ set resizeObserver(value) { this._resizeObserver.set(value); }
715
+ get resizeObserver() { return this._resizeObserver(); }
696
716
  static supported() {
697
717
  return HAS_OBSERVER;
698
718
  }
719
+ _resizeObserver = signal(null, ...(ngDevMode ? [{ debugName: "_resizeObserver" }] : []));
699
720
  constructor(resizeBatchService, element, ngZone) {
700
721
  super(resizeBatchService);
701
722
  this.element = element;
@@ -727,7 +748,9 @@ class ResizeObserverService extends ResizeService {
727
748
  */
728
749
  class ResizeBatchService {
729
750
  ngZone;
730
- scheduled = [];
751
+ set scheduled(value) { this._scheduled.set(value); }
752
+ get scheduled() { return this._scheduled(); }
753
+ _scheduled = signal([], ...(ngDevMode ? [{ debugName: "_scheduled" }] : []));
731
754
  resolvedPromise = Promise.resolve(null);
732
755
  subscription;
733
756
  constructor(ngZone) {
@@ -739,7 +762,9 @@ class ResizeBatchService {
739
762
  if (!this.subscription) {
740
763
  this.ngZone.runOutsideAngular(() => {
741
764
  this.subscription = from(this.resolvedPromise)
742
- .subscribe(this.flush);
765
+ .subscribe(() => {
766
+ this.flush();
767
+ });
743
768
  });
744
769
  }
745
770
  }
@@ -775,10 +800,10 @@ class ResizeBatchService {
775
800
  this.scheduled = [];
776
801
  this.unsubscribe();
777
802
  }
778
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ResizeBatchService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
779
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ResizeBatchService, providedIn: 'root' });
803
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeBatchService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
804
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeBatchService, providedIn: 'root' });
780
805
  }
781
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ResizeBatchService, decorators: [{
806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeBatchService, decorators: [{
782
807
  type: Injectable,
783
808
  args: [{
784
809
  providedIn: 'root'
@@ -801,13 +826,15 @@ class ResizeSensorComponent {
801
826
  *
802
827
  * Defaults to 10.
803
828
  */
804
- rateLimit = DEFAULT_RATE_LIMIT;
829
+ set rateLimit(value) { this._rateLimit.set(value); }
830
+ get rateLimit() { return this._rateLimit(); }
805
831
  /**
806
832
  * Fires when the parent DOM element has been resized.
807
833
  */
808
834
  resize = new EventEmitter();
809
835
  subscription;
810
- resizeService;
836
+ set resizeService(value) { this._resizeService.set(value); }
837
+ get resizeService() { return this._resizeService(); }
811
838
  constructor(resizeBatchService, element, ngZone) {
812
839
  const serviceType = ResizeObserverService.supported() ? ResizeObserverService : ResizeCompatService;
813
840
  this.resizeService = new serviceType(resizeBatchService, element, ngZone);
@@ -820,6 +847,8 @@ class ResizeSensorComponent {
820
847
  }
821
848
  });
822
849
  }
850
+ _rateLimit = signal(DEFAULT_RATE_LIMIT, ...(ngDevMode ? [{ debugName: "_rateLimit" }] : []));
851
+ _resizeService = signal(undefined, ...(ngDevMode ? [{ debugName: "_resizeService" }] : []));
823
852
  ngAfterViewChecked() {
824
853
  this.resizeService.checkChanges();
825
854
  }
@@ -830,15 +859,16 @@ class ResizeSensorComponent {
830
859
  acceptSize(size) {
831
860
  this.resizeService.acceptSize(size);
832
861
  }
833
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ResizeSensorComponent, deps: [{ token: ResizeBatchService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
834
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ResizeSensorComponent, isStandalone: true, selector: "kendo-resize-sensor", inputs: { rateLimit: "rateLimit" }, outputs: { resize: "resize" }, ngImport: i0, template: '', isInline: true });
862
+ 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 });
863
+ 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 });
835
864
  }
836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ResizeSensorComponent, decorators: [{
865
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ResizeSensorComponent, decorators: [{
837
866
  type: Component,
838
867
  args: [{
839
868
  selector: 'kendo-resize-sensor',
840
869
  template: '',
841
- standalone: true
870
+ standalone: true,
871
+ changeDetection: ChangeDetectionStrategy.OnPush
842
872
  }]
843
873
  }], ctorParameters: () => [{ type: ResizeBatchService }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { rateLimit: [{
844
874
  type: Input
@@ -1111,19 +1141,59 @@ let bannerPresentOnPage = false;
1111
1141
  * @hidden
1112
1142
  */
1113
1143
  class WatermarkOverlayComponent {
1114
- licenseMessage;
1144
+ set licenseMessage(value) {
1145
+ this._licenseMessage.set(value);
1146
+ }
1147
+ get licenseMessage() {
1148
+ return this._licenseMessage();
1149
+ }
1115
1150
  banner;
1116
1151
  watermarkStyle = watermarkStyles;
1117
- isOpen = true;
1118
- isMobile = false;
1119
- isNarrow = false;
1120
- isCloseHovered = false;
1121
- isCTAHovered = false;
1122
- 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
+ }
1123
1188
  get messages() {
1124
1189
  return [this.primaryMessage, ...this.extraMessages];
1125
1190
  }
1126
- extraMessages = [];
1191
+ set extraMessages(value) {
1192
+ this._extraMessages.set(value);
1193
+ }
1194
+ get extraMessages() {
1195
+ return this._extraMessages();
1196
+ }
1127
1197
  get primaryMessage() {
1128
1198
  return (this.licenseMessage || {
1129
1199
  severity: 'ERROR',
@@ -1136,6 +1206,14 @@ class WatermarkOverlayComponent {
1136
1206
  });
1137
1207
  }
1138
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" }] : []));
1139
1217
  getContent(msg) {
1140
1218
  const iconContent = msg.notificationIcon?.content;
1141
1219
  return {
@@ -1181,7 +1259,7 @@ class WatermarkOverlayComponent {
1181
1259
  subscribeLicenseMessage() {
1182
1260
  this.unsubscribeLicenseMessage = registerLicenseMessage(this.licenseMessage, 'KENDOUIANGULAR', ({ message }) => {
1183
1261
  // Add messages from other suites
1184
- this.extraMessages.push(message);
1262
+ this._extraMessages.update(msgs => [...msgs, message]);
1185
1263
  }, () => {
1186
1264
  // Show our own message dialog
1187
1265
  this.bannerMounted = true;
@@ -1199,8 +1277,8 @@ class WatermarkOverlayComponent {
1199
1277
  resetPresenceCheck() {
1200
1278
  bannerPresentOnPage = false;
1201
1279
  }
1202
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WatermarkOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1203
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.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.25", ngImport: i0, type: WatermarkOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1281
+ 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: `
1204
1282
  <ng-template #buttonTemplate>
1205
1283
  <button
1206
1284
  [ngStyle]="{
@@ -1352,9 +1430,9 @@ class WatermarkOverlayComponent {
1352
1430
  }
1353
1431
  </div>
1354
1432
  }
1355
- `, 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 });
1356
1434
  }
1357
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: WatermarkOverlayComponent, decorators: [{
1435
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: WatermarkOverlayComponent, decorators: [{
1358
1436
  type: Component,
1359
1437
  args: [{
1360
1438
  selector: 'div[kendoWatermarkOverlay], kendo-watermark-overlay',
@@ -1513,6 +1591,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1513
1591
  `,
1514
1592
  standalone: true,
1515
1593
  imports: [NgStyle, NgTemplateOutlet],
1594
+ changeDetection: ChangeDetectionStrategy.OnPush,
1516
1595
  }]
1517
1596
  }], propDecorators: { licenseMessage: [{
1518
1597
  type: Input
@@ -1524,7 +1603,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1524
1603
  args: ['style']
1525
1604
  }] } });
1526
1605
 
1527
- const allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app'];
1606
+ const allowed = ['telerik.com', 'progress.com', 'stackblitz.io', 'csb.app', 'webcontainer.io'];
1528
1607
  /**
1529
1608
  * @hidden
1530
1609
  */
@@ -1575,10 +1654,10 @@ class PrefixTemplateDirective {
1575
1654
  constructor(templateRef) {
1576
1655
  this.templateRef = templateRef;
1577
1656
  }
1578
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PrefixTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1579
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: PrefixTemplateDirective, isStandalone: true, selector: "[kendoPrefixTemplate]", inputs: { showSeparator: "showSeparator" }, ngImport: i0 });
1657
+ 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 });
1658
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: PrefixTemplateDirective, isStandalone: true, selector: "[kendoPrefixTemplate]", inputs: { showSeparator: "showSeparator" }, ngImport: i0 });
1580
1659
  }
1581
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: PrefixTemplateDirective, decorators: [{
1660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: PrefixTemplateDirective, decorators: [{
1582
1661
  type: Directive,
1583
1662
  args: [{
1584
1663
  selector: '[kendoPrefixTemplate]',
@@ -1629,10 +1708,10 @@ class SuffixTemplateDirective {
1629
1708
  constructor(templateRef) {
1630
1709
  this.templateRef = templateRef;
1631
1710
  }
1632
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SuffixTemplateDirective, deps: [{ token: i0.TemplateRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
1633
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: SuffixTemplateDirective, isStandalone: true, selector: "[kendoSuffixTemplate]", inputs: { showSeparator: "showSeparator" }, ngImport: i0 });
1711
+ 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 });
1712
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: SuffixTemplateDirective, isStandalone: true, selector: "[kendoSuffixTemplate]", inputs: { showSeparator: "showSeparator" }, ngImport: i0 });
1634
1713
  }
1635
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SuffixTemplateDirective, decorators: [{
1714
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SuffixTemplateDirective, decorators: [{
1636
1715
  type: Directive,
1637
1716
  args: [{
1638
1717
  selector: '[kendoSuffixTemplate]',
@@ -1686,10 +1765,10 @@ class SeparatorComponent {
1686
1765
  * @hidden
1687
1766
  */
1688
1767
  hostClass = true;
1689
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1690
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.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.25", ngImport: i0, type: SeparatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1769
+ 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 });
1691
1770
  }
1692
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: SeparatorComponent, decorators: [{
1771
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: SeparatorComponent, decorators: [{
1693
1772
  type: Component,
1694
1773
  args: [{
1695
1774
  selector: 'kendo-separator',
@@ -1814,10 +1893,10 @@ class ScrollbarService {
1814
1893
  this.subscription?.unsubscribe();
1815
1894
  this.subscription = null;
1816
1895
  }
1817
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ScrollbarService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1818
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ScrollbarService, providedIn: 'root' });
1896
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollbarService, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1897
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollbarService, providedIn: 'root' });
1819
1898
  }
1820
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ScrollbarService, decorators: [{
1899
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ScrollbarService, decorators: [{
1821
1900
  type: Injectable,
1822
1901
  args: [{
1823
1902
  providedIn: 'root'
@@ -1855,6 +1934,7 @@ class ToggleButtonTabStopDirective {
1855
1934
  hostEl;
1856
1935
  renderer;
1857
1936
  zone;
1937
+ injector;
1858
1938
  hostComponent;
1859
1939
  /**
1860
1940
  * @hidden
@@ -1863,25 +1943,33 @@ class ToggleButtonTabStopDirective {
1863
1943
  *
1864
1944
  * @default true
1865
1945
  */
1866
- active;
1946
+ set active(value) { this._active.set(value); }
1947
+ /**
1948
+ * @hidden
1949
+ */
1950
+ get active() { return this._active(); }
1867
1951
  /**
1868
1952
  * Defines the value of the `aria-label` attribute of the toggle button when active.
1869
1953
  *
1870
1954
  * @default "toggle popup"
1871
1955
  */
1872
- toggleButtonAriaLabel = 'toggle popup';
1956
+ set toggleButtonAriaLabel(value) { this._toggleButtonAriaLabel.set(value); }
1957
+ get toggleButtonAriaLabel() { return this._toggleButtonAriaLabel(); }
1873
1958
  button;
1874
1959
  sub = new Subscription();
1875
1960
  focusButton;
1876
1961
  isSplitButton;
1877
1962
  observer;
1963
+ _active = signal(undefined, ...(ngDevMode ? [{ debugName: "_active" }] : []));
1964
+ _toggleButtonAriaLabel = signal('toggle popup', ...(ngDevMode ? [{ debugName: "_toggleButtonAriaLabel" }] : []));
1878
1965
  /**
1879
1966
  * @hidden
1880
1967
  */
1881
- constructor(hostEl, renderer, zone, hostComponent) {
1968
+ constructor(hostEl, renderer, zone, injector, hostComponent) {
1882
1969
  this.hostEl = hostEl;
1883
1970
  this.renderer = renderer;
1884
1971
  this.zone = zone;
1972
+ this.injector = injector;
1885
1973
  this.hostComponent = hostComponent;
1886
1974
  if (isDevMode() && tags.indexOf(hostEl.nativeElement.tagName.toLowerCase()) === -1) {
1887
1975
  console.warn(`The kendoToggleButtonTabStop directive can be applied to the following components only: ${tags}`);
@@ -2023,9 +2111,9 @@ class ToggleButtonTabStopDirective {
2023
2111
  }
2024
2112
  returnFocusToToggleButton() {
2025
2113
  if (this.isSplitButton) {
2026
- this.zone.onStable.pipe(take(1)).subscribe(() => {
2114
+ afterNextRender(() => {
2027
2115
  this.focusToggleButton();
2028
- });
2116
+ }, { injector: this.injector });
2029
2117
  }
2030
2118
  else {
2031
2119
  this.focusToggleButton();
@@ -2065,16 +2153,16 @@ class ToggleButtonTabStopDirective {
2065
2153
  this.observer.observe(mainFocusableElement, mutationConfig);
2066
2154
  });
2067
2155
  }
2068
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ToggleButtonTabStopDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: MultiTabStop }], target: i0.ɵɵFactoryTarget.Directive });
2069
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.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.25", 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.25", type: ToggleButtonTabStopDirective, isStandalone: true, selector: "[kendoToggleButtonTabStop]", inputs: { active: ["kendoToggleButtonTabStop", "active"], toggleButtonAriaLabel: "toggleButtonAriaLabel" }, usesOnChanges: true, ngImport: i0 });
2070
2158
  }
2071
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ToggleButtonTabStopDirective, decorators: [{
2159
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ToggleButtonTabStopDirective, decorators: [{
2072
2160
  type: Directive,
2073
2161
  args: [{
2074
2162
  selector: '[kendoToggleButtonTabStop]',
2075
2163
  standalone: true
2076
2164
  }]
2077
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: MultiTabStop }], propDecorators: { active: [{
2165
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }, { type: i0.Injector }, { type: MultiTabStop }], propDecorators: { active: [{
2078
2166
  type: Input,
2079
2167
  args: ['kendoToggleButtonTabStop']
2080
2168
  }], toggleButtonAriaLabel: [{
@@ -2099,10 +2187,10 @@ class TemplateContextDirective {
2099
2187
  constructor(viewContainerRef) {
2100
2188
  this.viewContainerRef = viewContainerRef;
2101
2189
  }
2102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TemplateContextDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
2103
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: TemplateContextDirective, isStandalone: true, selector: "[templateContext]", inputs: { templateContext: "templateContext" }, ngImport: i0 });
2190
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TemplateContextDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
2191
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: TemplateContextDirective, isStandalone: true, selector: "[templateContext]", inputs: { templateContext: "templateContext" }, ngImport: i0 });
2104
2192
  }
2105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: TemplateContextDirective, decorators: [{
2193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: TemplateContextDirective, decorators: [{
2106
2194
  type: Directive,
2107
2195
  args: [{
2108
2196
  selector: '[templateContext]',
@@ -2171,7 +2259,7 @@ const KENDO_TEMPLATE_CONTEXT = [
2171
2259
  /**
2172
2260
  * @hidden
2173
2261
  */
2174
- 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);
2175
2263
 
2176
2264
  /**
2177
2265
  * Generated bundle index. Do not edit.