@progress/kendo-angular-progressbar 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.
@@ -5,12 +5,11 @@
5
5
  import * as i1 from '@progress/kendo-angular-l10n';
6
6
  import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
7
7
  import * as i0 from '@angular/core';
8
- import { isDevMode, Input, HostBinding, Component, Directive, forwardRef, EventEmitter, ViewChild, Output, ContentChild, NgModule } from '@angular/core';
8
+ import { isDevMode, signal, computed, Input, HostBinding, ChangeDetectionStrategy, Component, Directive, forwardRef, EventEmitter, effect, untracked, ViewChild, Output, afterNextRender, ContentChild, NgModule } from '@angular/core';
9
9
  import { validatePackage } from '@progress/kendo-licensing';
10
- import { hasObservers, isDocumentAvailable, isChanged, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
10
+ import { hasObservers, isDocumentAvailable, ResizeSensorComponent, ResizeBatchService } from '@progress/kendo-angular-common';
11
11
  import { NgStyle, NgClass, NgTemplateOutlet } from '@angular/common';
12
12
  import { Subscription } from 'rxjs';
13
- import { take } from 'rxjs/operators';
14
13
 
15
14
  /**
16
15
  * @hidden
@@ -20,8 +19,8 @@ const packageMetadata = {
20
19
  productName: 'Kendo UI for Angular',
21
20
  productCode: 'KENDOUIANGULAR',
22
21
  productCodes: ['KENDOUIANGULAR'],
23
- publishDate: 1783511312,
24
- version: '24.2.2',
22
+ publishDate: 1785317757,
23
+ version: '25.0.0-develop.12',
25
24
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
26
25
  };
27
26
 
@@ -172,23 +171,36 @@ class ProgressBarBase {
172
171
  * The maximum value of the ProgressBar.
173
172
  * Defaults to `100`.
174
173
  */
175
- max = 100;
174
+ set max(value) {
175
+ validateRange(this._min(), value);
176
+ this._max.set(value);
177
+ }
178
+ get max() {
179
+ return this._max();
180
+ }
176
181
  /**
177
182
  * The minimum value of the ProgressBar.
178
183
  * Defaults to `0`.
179
184
  */
180
- min = 0;
181
- /**
182
- * The value of the ProgressBar.
183
- * Has to be between `min` and `max`.
184
- * By default, the value is equal to the `min` value.
185
- */
185
+ set min(value) {
186
+ validateRange(value, this._max());
187
+ this._min.set(value);
188
+ }
189
+ get min() {
190
+ return this._min();
191
+ }
186
192
  /**
187
193
  * The value of the ProgressBar.
188
194
  * Has to be between `min` and `max`.
189
195
  * Defaults to `0`.
190
196
  */
191
- value = 0;
197
+ set value(v) {
198
+ this.previousValue = this.displayValue;
199
+ this._value.set(v == null || Number.isNaN(v) ? this._min() : v);
200
+ }
201
+ get value() {
202
+ return this._value();
203
+ }
192
204
  /**
193
205
  * @hidden
194
206
  */
@@ -227,29 +239,54 @@ class ProgressBarBase {
227
239
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/progressbar/orientation)).
228
240
  * Defaults to `horizontal`.
229
241
  */
230
- orientation = 'horizontal';
242
+ set orientation(value) {
243
+ this._orientation.set(value);
244
+ }
245
+ get orientation() {
246
+ return this._orientation();
247
+ }
231
248
  /**
232
249
  * If set to `true`, the ProgressBar will be disabled
233
250
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/progressbar/disabled)).
234
251
  * It will still allow you to change its value.
235
252
  * Defaults to `false`.
236
253
  */
237
- disabled = false;
254
+ set disabled(value) {
255
+ this._disabled.set(value);
256
+ }
257
+ get disabled() {
258
+ return this._disabled();
259
+ }
238
260
  /**
239
261
  * If set to `true`, the ProgressBar will be reversed
240
262
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/progressbar/direction)).
241
263
  * Defaults to `false`.
242
264
  */
243
- reverse = false;
265
+ set reverse(value) {
266
+ this._reverse.set(value);
267
+ }
268
+ get reverse() {
269
+ return this._reverse();
270
+ }
244
271
  /**
245
272
  * Sets the `indeterminate` state of the ProgressBar.
246
273
  * Defaults to `false`.
247
274
  */
248
- indeterminate = false;
275
+ set indeterminate(value) {
276
+ this._indeterminate.set(value);
277
+ }
278
+ get indeterminate() {
279
+ return this._indeterminate();
280
+ }
249
281
  direction;
250
282
  localizationChangeSubscription;
251
- displayValue = 0;
252
283
  previousValue = 0;
284
+ /**
285
+ * @hidden
286
+ */
287
+ get displayValue() {
288
+ return this._displayValue();
289
+ }
253
290
  /**
254
291
  * @hidden
255
292
  */
@@ -267,39 +304,27 @@ class ProgressBarBase {
267
304
  const label = this.localization.get('progressBarLabel');
268
305
  this.renderer.setAttribute(elem, 'aria-label', label);
269
306
  }
270
- ngOnChanges(changes) {
271
- const min = extractValueFromChanges(changes, 'min', this.min);
272
- const max = extractValueFromChanges(changes, 'max', this.max);
273
- const value = extractValueFromChanges(changes, 'value', this.value);
274
- if (changes['min'] || changes['max'] || changes['value']) {
275
- if (changes['min'] || changes['max']) {
276
- validateRange(min, max);
277
- }
278
- if (changes['value']) {
279
- if (value == null || Number.isNaN(value)) {
280
- this.value = min;
281
- }
282
- const previousValue = this.displayValue;
283
- this.displayValue = adjustValueToRange(this.min, this.max, value);
284
- this.previousValue = previousValue;
285
- }
286
- this.min = min;
287
- this.max = max;
288
- this.displayValue = adjustValueToRange(this.min, this.max, value);
289
- }
290
- }
291
307
  ngOnDestroy() {
292
308
  if (this.localizationChangeSubscription) {
293
309
  this.localizationChangeSubscription.unsubscribe();
294
310
  }
295
311
  }
296
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarBase, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
297
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ProgressBarBase, isStandalone: true, selector: "ng-component", inputs: { max: "max", min: "min", value: "value", orientation: "orientation", disabled: "disabled", reverse: "reverse", indeterminate: "indeterminate" }, host: { properties: { "class.k-progressbar": "this.hostClasses", "class.k-progressbar-horizontal": "this.isHorizontal", "class.k-progressbar-vertical": "this.isVertical", "class.k-disabled": "this.disabledClass", "class.k-progressbar-reverse": "this.reverseClass", "class.k-progressbar-indeterminate": "this.indeterminateClass", "attr.dir": "this.dirAttribute", "attr.role": "this.roleAttribute", "attr.aria-valuemin": "this.ariaMinAttribute", "attr.aria-valuemax": "this.ariaMaxAttribute", "attr.aria-valuenow": "this.ariaValueAttribute" } }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
312
+ _max = signal(100, ...(ngDevMode ? [{ debugName: "_max" }] : []));
313
+ _min = signal(0, ...(ngDevMode ? [{ debugName: "_min" }] : []));
314
+ _value = signal(0, ...(ngDevMode ? [{ debugName: "_value" }] : []));
315
+ _orientation = signal('horizontal', ...(ngDevMode ? [{ debugName: "_orientation" }] : []));
316
+ _disabled = signal(false, ...(ngDevMode ? [{ debugName: "_disabled" }] : []));
317
+ _reverse = signal(false, ...(ngDevMode ? [{ debugName: "_reverse" }] : []));
318
+ _indeterminate = signal(false, ...(ngDevMode ? [{ debugName: "_indeterminate" }] : []));
319
+ _displayValue = computed(() => adjustValueToRange(this._min(), this._max(), this._value()), ...(ngDevMode ? [{ debugName: "_displayValue" }] : []));
320
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarBase, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
321
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ProgressBarBase, isStandalone: true, selector: "ng-component", inputs: { max: "max", min: "min", value: "value", orientation: "orientation", disabled: "disabled", reverse: "reverse", indeterminate: "indeterminate" }, host: { properties: { "class.k-progressbar": "this.hostClasses", "class.k-progressbar-horizontal": "this.isHorizontal", "class.k-progressbar-vertical": "this.isVertical", "class.k-disabled": "this.disabledClass", "class.k-progressbar-reverse": "this.reverseClass", "class.k-progressbar-indeterminate": "this.indeterminateClass", "attr.dir": "this.dirAttribute", "attr.role": "this.roleAttribute", "attr.aria-valuemin": "this.ariaMinAttribute", "attr.aria-valuemax": "this.ariaMaxAttribute", "attr.aria-valuenow": "this.ariaValueAttribute" } }, ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
298
322
  }
299
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarBase, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarBase, decorators: [{
300
324
  type: Component,
301
325
  args: [{
302
- template: ''
326
+ template: '',
327
+ changeDetection: ChangeDetectionStrategy.OnPush
303
328
  }]
304
329
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }], propDecorators: { hostClasses: [{
305
330
  type: HostBinding,
@@ -358,10 +383,10 @@ class ProgressBarMessages extends ComponentMessages {
358
383
  * The aria-label attribute for the ProgressBar component.
359
384
  */
360
385
  progressBarLabel;
361
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
362
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: ProgressBarMessages, isStandalone: true, inputs: { progressBarLabel: "progressBarLabel" }, usesInheritance: true, ngImport: i0 });
386
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
387
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: ProgressBarMessages, isStandalone: true, inputs: { progressBarLabel: "progressBarLabel" }, usesInheritance: true, ngImport: i0 });
363
388
  }
364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarMessages, decorators: [{
389
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarMessages, decorators: [{
365
390
  type: Directive,
366
391
  args: [{}]
367
392
  }], propDecorators: { progressBarLabel: [{
@@ -377,15 +402,15 @@ class LocalizedProgressBarMessagesDirective extends ProgressBarMessages {
377
402
  super();
378
403
  this.service = service;
379
404
  }
380
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LocalizedProgressBarMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
381
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: LocalizedProgressBarMessagesDirective, isStandalone: true, selector: "[kendoProgressBarLocalizedMessages]", providers: [
405
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LocalizedProgressBarMessagesDirective, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
406
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: LocalizedProgressBarMessagesDirective, isStandalone: true, selector: "[kendoProgressBarLocalizedMessages]", providers: [
382
407
  {
383
408
  provide: ProgressBarMessages,
384
409
  useExisting: forwardRef(() => LocalizedProgressBarMessagesDirective)
385
410
  }
386
411
  ], usesInheritance: true, ngImport: i0 });
387
412
  }
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: LocalizedProgressBarMessagesDirective, decorators: [{
413
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: LocalizedProgressBarMessagesDirective, decorators: [{
389
414
  type: Directive,
390
415
  args: [{
391
416
  providers: [
@@ -428,36 +453,77 @@ class ProgressBarComponent extends ProgressBarBase {
428
453
  * Determines whether the status label displays.
429
454
  * @default true
430
455
  */
431
- label = true;
456
+ set label(value) {
457
+ this._label.set(value);
458
+ }
459
+ get label() {
460
+ return this._label();
461
+ }
432
462
  /**
433
463
  * Sets the CSS styles that will be rendered on the inner element, which represents the full portion of the progress bar
434
464
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/progressbar/appearance)).
435
465
  * Supports the type of values that [`ngStyle`](link:site.data.urls.angular['ngstyleapi']) supports.
436
466
  */
437
- progressCssStyle;
467
+ set progressCssStyle(value) {
468
+ this._progressCssStyle.set(value);
469
+ }
470
+ get progressCssStyle() {
471
+ return this._progressCssStyle();
472
+ }
438
473
  /**
439
474
  * The CSS classes that render on the inner element which represents the full portion of the progress bar
440
475
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/progressbar/appearance)).
441
476
  * Supports the type of values that [`ngClass`](link:site.data.urls.angular['ngclassapi']) supports.
442
477
  */
443
- progressCssClass;
478
+ set progressCssClass(value) {
479
+ this._progressCssClass.set(value);
480
+ }
481
+ get progressCssClass() {
482
+ return this._progressCssClass();
483
+ }
444
484
  /**
445
485
  * The CSS styles that render on the inner element which represents the empty portion of the progress bar
446
486
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/progressbar/appearance)).
447
487
  * Supports the type of values that [`ngStyle`](link:site.data.urls.angular['ngstyleapi']) supports.
448
488
  */
449
- emptyCssStyle;
489
+ set emptyCssStyle(value) {
490
+ this._emptyCssStyle.set(value);
491
+ }
492
+ get emptyCssStyle() {
493
+ return this._emptyCssStyle();
494
+ }
450
495
  /**
451
496
  * The CSS classes that render on the inner element which represents the empty portion of the progress bar
452
497
  * ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/progressbar/appearance)).
453
498
  * Supports the type of values that [`ngClass`](link:site.data.urls.angular['ngclassapi']) supports.
454
499
  */
455
- emptyCssClass;
500
+ set emptyCssClass(value) {
501
+ this._emptyCssClass.set(value);
502
+ }
503
+ get emptyCssClass() {
504
+ return this._emptyCssClass();
505
+ }
456
506
  /**
457
507
  * The animation configuration of the ProgressBar.
458
508
  * @default false
459
509
  */
460
- animation = false;
510
+ set animation(value) {
511
+ this._animation.set(value);
512
+ }
513
+ get animation() {
514
+ return this._animation();
515
+ }
516
+ /**
517
+ * The maximum value of the ProgressBar.
518
+ * Defaults to `100`.
519
+ */
520
+ set max(v) {
521
+ this._previousMax = this.max;
522
+ super.max = v;
523
+ }
524
+ get max() {
525
+ return super.max;
526
+ }
461
527
  /**
462
528
  * Fires when the animation which indicates the latest value change completes.
463
529
  */
@@ -519,7 +585,35 @@ class ProgressBarComponent extends ProgressBarBase {
519
585
  animationFrame;
520
586
  cancelCurrentAnimation;
521
587
  isAnimationInProgress;
522
- previousMax;
588
+ _previousMax;
589
+ _valueEffectInitialized = false;
590
+ _label = signal(true, ...(ngDevMode ? [{ debugName: "_label" }] : []));
591
+ _progressCssStyle = signal(undefined, ...(ngDevMode ? [{ debugName: "_progressCssStyle" }] : []));
592
+ _progressCssClass = signal(undefined, ...(ngDevMode ? [{ debugName: "_progressCssClass" }] : []));
593
+ _emptyCssStyle = signal(undefined, ...(ngDevMode ? [{ debugName: "_emptyCssStyle" }] : []));
594
+ _emptyCssClass = signal(undefined, ...(ngDevMode ? [{ debugName: "_emptyCssClass" }] : []));
595
+ _animation = signal(false, ...(ngDevMode ? [{ debugName: "_animation" }] : []));
596
+ valueChangeEffect = effect(() => {
597
+ const _value = this.value; // tracks _value signal changes via public getter
598
+ if (!this._valueEffectInitialized) {
599
+ this._valueEffectInitialized = true;
600
+ return;
601
+ }
602
+ const displayValue = untracked(() => this.displayValue);
603
+ const animation = untracked(() => this.animation);
604
+ if (animation && typeof requestAnimationFrame !== 'undefined' && this.previousValue !== displayValue) {
605
+ if (!this.progressStatusElement?.nativeElement || !this.progressStatusWrapperElement?.nativeElement) {
606
+ return;
607
+ }
608
+ this.startAnimation(this.previousValue);
609
+ }
610
+ }, ...(ngDevMode ? [{ debugName: "valueChangeEffect" }] : []));
611
+ animationStopEffect = effect(() => {
612
+ const animation = this.animation; // tracks _animation signal changes via public getter
613
+ if (this.isAnimationInProgress && !animation) {
614
+ this.cancelCurrentAnimation = true;
615
+ }
616
+ }, ...(ngDevMode ? [{ debugName: "animationStopEffect" }] : []));
523
617
  /**
524
618
  * @hidden
525
619
  */
@@ -530,23 +624,11 @@ class ProgressBarComponent extends ProgressBarBase {
530
624
  this.renderer = renderer;
531
625
  this.zone = zone;
532
626
  }
533
- /**
534
- * @hidden
535
- */
536
- ngOnChanges(changes) {
537
- super.ngOnChanges(changes);
538
- this.previousMax = changes['max'] ? changes['max'].previousValue : this.max;
539
- if (this.isAnimationInProgress && stopCurrentAnimation(changes)) {
540
- this.cancelCurrentAnimation = true;
541
- }
542
- if (runAnimation(changes, this.animation, this.previousValue, this.displayValue) && !changes['value'].firstChange) {
543
- this.startAnimation(this.previousValue);
544
- }
545
- }
546
627
  /**
547
628
  * @hidden
548
629
  */
549
630
  ngOnDestroy() {
631
+ super.ngOnDestroy();
550
632
  if (this.animationFrame) {
551
633
  cancelAnimationFrame(this.animationFrame);
552
634
  }
@@ -612,7 +694,7 @@ class ProgressBarComponent extends ProgressBarBase {
612
694
  }
613
695
  getAnimationOptions(value) {
614
696
  const isHorizontal = this.orientation === 'horizontal';
615
- const previousRatio = calculateRatio(this.min, this.previousMax ?? this.max, value);
697
+ const previousRatio = calculateRatio(this.min, this._previousMax ?? this.max, value);
616
698
  const previousStatusWidth = isHorizontal ? previousRatio * 100 : 100;
617
699
  const previousStatusHeight = !isHorizontal ? previousRatio * 100 : 100;
618
700
  const property = isHorizontal ? 'width' : 'height';
@@ -642,14 +724,14 @@ class ProgressBarComponent extends ProgressBarBase {
642
724
  this.isAnimationInProgress = false;
643
725
  });
644
726
  }
645
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
646
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ProgressBarComponent, isStandalone: true, selector: "kendo-progressbar", inputs: { label: "label", progressCssStyle: "progressCssStyle", progressCssClass: "progressCssClass", emptyCssStyle: "emptyCssStyle", emptyCssClass: "emptyCssClass", animation: "animation" }, outputs: { animationEnd: "animationEnd" }, providers: [
727
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
728
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ProgressBarComponent, isStandalone: true, selector: "kendo-progressbar", inputs: { label: "label", progressCssStyle: "progressCssStyle", progressCssClass: "progressCssClass", emptyCssStyle: "emptyCssStyle", emptyCssClass: "emptyCssClass", animation: "animation", max: "max" }, outputs: { animationEnd: "animationEnd" }, providers: [
647
729
  LocalizationService,
648
730
  {
649
731
  provide: L10N_PREFIX,
650
732
  useValue: 'kendo.progressbar'
651
733
  }
652
- ], viewQueries: [{ propertyName: "progressStatusElement", first: true, predicate: ["progressStatus"], descendants: true }, { propertyName: "progressStatusWrapperElement", first: true, predicate: ["progressStatusWrap"], descendants: true }], exportAs: ["kendoProgressBar"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
734
+ ], viewQueries: [{ propertyName: "progressStatusElement", first: true, predicate: ["progressStatus"], descendants: true }, { propertyName: "progressStatusWrapperElement", first: true, predicate: ["progressStatusWrap"], descendants: true }], exportAs: ["kendoProgressBar"], usesInheritance: true, ngImport: i0, template: `
653
735
  <ng-container kendoProgressBarLocalizedMessages
654
736
  i18n-progressBarLabel="kendo.progressbar.progressBarLabel|The aria-label attribute for the ProgressBar component."
655
737
  progressBarLabel="Progressbar"
@@ -688,13 +770,14 @@ class ProgressBarComponent extends ProgressBarBase {
688
770
  }
689
771
  </span>
690
772
  </div>
691
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedProgressBarMessagesDirective, selector: "[kendoProgressBarLocalizedMessages]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
773
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedProgressBarMessagesDirective, selector: "[kendoProgressBarLocalizedMessages]" }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
692
774
  }
693
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarComponent, decorators: [{
775
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarComponent, decorators: [{
694
776
  type: Component,
695
777
  args: [{
696
- exportAs: 'kendoProgressBar',
697
778
  selector: 'kendo-progressbar',
779
+ exportAs: 'kendoProgressBar',
780
+ changeDetection: ChangeDetectionStrategy.OnPush,
698
781
  template: `
699
782
  <ng-container kendoProgressBarLocalizedMessages
700
783
  i18n-progressBarLabel="kendo.progressbar.progressBarLabel|The aria-label attribute for the ProgressBar component."
@@ -757,6 +840,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
757
840
  type: Input
758
841
  }], animation: [{
759
842
  type: Input
843
+ }], max: [{
844
+ type: Input
760
845
  }], animationEnd: [{
761
846
  type: Output
762
847
  }], progressStatusElement: [{
@@ -801,7 +886,12 @@ class ChunkProgressBarComponent extends ProgressBarBase {
801
886
  *
802
887
  * @default 5
803
888
  */
804
- chunkCount = 5;
889
+ set chunkCount(value) {
890
+ this._chunkCount.set(value);
891
+ }
892
+ get chunkCount() {
893
+ return this._chunkCount();
894
+ }
805
895
  /**
806
896
  * @hidden
807
897
  */
@@ -818,22 +908,42 @@ class ChunkProgressBarComponent extends ProgressBarBase {
818
908
  * Sets the CSS styles that will be rendered on the full chunk elements ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/circularprogressbar/appearance)).
819
909
  * Supports the type of values that [`ngStyle`](link:site.data.urls.angular['ngstyleapi']) supports.
820
910
  */
821
- progressCssStyle;
911
+ set progressCssStyle(value) {
912
+ this._progressCssStyle.set(value);
913
+ }
914
+ get progressCssStyle() {
915
+ return this._progressCssStyle();
916
+ }
822
917
  /**
823
918
  * Sets the CSS classes that will be rendered on the full chunk elements ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/circularprogressbar/appearance)).
824
919
  * Supports the type of values that [`ngClass`](link:site.data.urls.angular['ngclassapi']) supports.
825
920
  */
826
- progressCssClass;
921
+ set progressCssClass(value) {
922
+ this._progressCssClass.set(value);
923
+ }
924
+ get progressCssClass() {
925
+ return this._progressCssClass();
926
+ }
827
927
  /**
828
928
  * Sets the CSS styles that will be rendered on the empty chunk elements ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/circularprogressbar/appearance)).
829
929
  * Supports the type of values that [`ngStyle`](link:site.data.urls.angular['ngstyleapi']) supports.
830
930
  */
831
- emptyCssStyle;
931
+ set emptyCssStyle(value) {
932
+ this._emptyCssStyle.set(value);
933
+ }
934
+ get emptyCssStyle() {
935
+ return this._emptyCssStyle();
936
+ }
832
937
  /**
833
938
  * Sets the CSS classes that will be rendered on the empty chunk elements ([see example](https://www.telerik.com/kendo-angular-ui/components/progressbars/circularprogressbar/appearance)).
834
939
  * Supports the type of values that [`ngClass`](link:site.data.urls.angular['ngclassapi']) supports.
835
940
  */
836
- emptyCssClass;
941
+ set emptyCssClass(value) {
942
+ this._emptyCssClass.set(value);
943
+ }
944
+ get emptyCssClass() {
945
+ return this._emptyCssClass();
946
+ }
837
947
  /**
838
948
  * @hidden
839
949
  */
@@ -854,6 +964,11 @@ class ChunkProgressBarComponent extends ProgressBarBase {
854
964
  }
855
965
  return this._orientationStyles;
856
966
  }
967
+ _chunkCount = signal(5, ...(ngDevMode ? [{ debugName: "_chunkCount" }] : []));
968
+ _progressCssStyle = signal(undefined, ...(ngDevMode ? [{ debugName: "_progressCssStyle" }] : []));
969
+ _progressCssClass = signal(undefined, ...(ngDevMode ? [{ debugName: "_progressCssClass" }] : []));
970
+ _emptyCssStyle = signal(undefined, ...(ngDevMode ? [{ debugName: "_emptyCssStyle" }] : []));
971
+ _emptyCssClass = signal(undefined, ...(ngDevMode ? [{ debugName: "_emptyCssClass" }] : []));
857
972
  _orientationStyles = {
858
973
  width: `${this.chunkSizePercentage}%`,
859
974
  height: null
@@ -867,8 +982,8 @@ class ChunkProgressBarComponent extends ProgressBarBase {
867
982
  this.elem = elem;
868
983
  this.renderer = renderer;
869
984
  }
870
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ChunkProgressBarComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
871
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: ChunkProgressBarComponent, isStandalone: true, selector: "kendo-chunkprogressbar", inputs: { chunkCount: "chunkCount", progressCssStyle: "progressCssStyle", progressCssClass: "progressCssClass", emptyCssStyle: "emptyCssStyle", emptyCssClass: "emptyCssClass" }, host: { properties: { "class.k-chunk-progressbar": "this.chunkClass" } }, providers: [
985
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChunkProgressBarComponent, deps: [{ token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
986
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: ChunkProgressBarComponent, isStandalone: true, selector: "kendo-chunkprogressbar", inputs: { chunkCount: "chunkCount", progressCssStyle: "progressCssStyle", progressCssClass: "progressCssClass", emptyCssStyle: "emptyCssStyle", emptyCssClass: "emptyCssClass" }, host: { properties: { "class.k-chunk-progressbar": "this.chunkClass" } }, providers: [
872
987
  LocalizationService,
873
988
  {
874
989
  provide: L10N_PREFIX,
@@ -894,13 +1009,13 @@ class ChunkProgressBarComponent extends ProgressBarBase {
894
1009
  </li>
895
1010
  }
896
1011
  </ul>
897
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedProgressBarMessagesDirective, selector: "[kendoProgressBarLocalizedMessages]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
1012
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedProgressBarMessagesDirective, selector: "[kendoProgressBarLocalizedMessages]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
898
1013
  }
899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ChunkProgressBarComponent, decorators: [{
1014
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ChunkProgressBarComponent, decorators: [{
900
1015
  type: Component,
901
1016
  args: [{
902
- exportAs: 'kendoChunkProgressBar',
903
1017
  selector: 'kendo-chunkprogressbar',
1018
+ exportAs: 'kendoChunkProgressBar',
904
1019
  template: `
905
1020
  <ng-container kendoProgressBarLocalizedMessages
906
1021
  i18n-progressBarLabel="kendo.chunkprogressbar.progressBarLabel|The aria-label attribute for the ChunkProgressBar component."
@@ -930,6 +1045,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
930
1045
  }
931
1046
  ],
932
1047
  standalone: true,
1048
+ changeDetection: ChangeDetectionStrategy.OnPush,
933
1049
  imports: [LocalizedProgressBarMessagesDirective, NgClass, NgStyle]
934
1050
  }]
935
1051
  }], ctorParameters: () => [{ type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { chunkClass: [{
@@ -965,10 +1081,10 @@ class CircularProgressbarCenterTemplateDirective {
965
1081
  constructor(templateRef) {
966
1082
  this.templateRef = templateRef;
967
1083
  }
968
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CircularProgressbarCenterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
969
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.25", type: CircularProgressbarCenterTemplateDirective, isStandalone: true, selector: "[kendoCircularProgressbarCenterTemplate]", ngImport: i0 });
1084
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CircularProgressbarCenterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1085
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.25", type: CircularProgressbarCenterTemplateDirective, isStandalone: true, selector: "[kendoCircularProgressbarCenterTemplate]", ngImport: i0 });
970
1086
  }
971
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CircularProgressbarCenterTemplateDirective, decorators: [{
1087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CircularProgressbarCenterTemplateDirective, decorators: [{
972
1088
  type: Directive,
973
1089
  args: [{
974
1090
  selector: '[kendoCircularProgressbarCenterTemplate]',
@@ -1004,10 +1120,9 @@ const DEFAULT_SURFACE_SIZE = 200;
1004
1120
  */
1005
1121
  class CircularProgressBarComponent {
1006
1122
  renderer;
1007
- cdr;
1008
1123
  localization;
1009
1124
  element;
1010
- zone;
1125
+ injector;
1011
1126
  hostClasses = true;
1012
1127
  get ariaMinAttribute() {
1013
1128
  return String(this.min);
@@ -1032,10 +1147,10 @@ class CircularProgressBarComponent {
1032
1147
  this.handleErrors('value < min');
1033
1148
  }
1034
1149
  this.previousValue = this.value;
1035
- this._value = value;
1150
+ this._value.set(value);
1036
1151
  }
1037
1152
  get value() {
1038
- return this._value;
1153
+ return this._value();
1039
1154
  }
1040
1155
  /**
1041
1156
  * Sets the maximum value which the Circular ProgressBar can accept.
@@ -1046,10 +1161,10 @@ class CircularProgressBarComponent {
1046
1161
  if (max < this.min) {
1047
1162
  this.handleErrors('max < min');
1048
1163
  }
1049
- this._max = max;
1164
+ this._max.set(max);
1050
1165
  }
1051
1166
  get max() {
1052
- return this._max;
1167
+ return this._max();
1053
1168
  }
1054
1169
  /**
1055
1170
  * Sets the minimum value which the Circular ProgressBar can accept.
@@ -1060,38 +1175,53 @@ class CircularProgressBarComponent {
1060
1175
  if (min > this.max) {
1061
1176
  this.handleErrors('max < min');
1062
1177
  }
1063
- this._min = min;
1178
+ this._min.set(min);
1064
1179
  }
1065
1180
  get min() {
1066
- return this._min;
1181
+ return this._min();
1067
1182
  }
1068
1183
  /**
1069
1184
  * Specifies whether to play an animation when the value changes.
1070
1185
  *
1071
1186
  * @default false
1072
1187
  */
1073
- animation = false;
1188
+ set animation(value) {
1189
+ this._animation.set(value);
1190
+ }
1191
+ get animation() {
1192
+ return this._animation();
1193
+ }
1074
1194
  /**
1075
1195
  * Sets the opacity of the value arc.
1076
1196
  *
1077
1197
  * @default 1
1078
1198
  */
1079
- opacity = 1;
1199
+ set opacity(value) {
1200
+ this._opacity.set(value);
1201
+ }
1202
+ get opacity() {
1203
+ return this._opacity();
1204
+ }
1080
1205
  /**
1081
1206
  * Puts the Circular ProgressBar in indeterminate state.
1082
1207
  *
1083
1208
  * @default false
1084
1209
  */
1085
1210
  set indeterminate(indeterminate) {
1086
- this._indeterminate = indeterminate;
1211
+ this._indeterminate.set(indeterminate);
1087
1212
  }
1088
1213
  get indeterminate() {
1089
- return this._indeterminate;
1214
+ return this._indeterminate();
1090
1215
  }
1091
1216
  /**
1092
1217
  * Configures the pointer color. You can set it to a single color string or customize it per progress stages.
1093
1218
  */
1094
- progressColor;
1219
+ set progressColor(value) {
1220
+ this._progressColor.set(value);
1221
+ }
1222
+ get progressColor() {
1223
+ return this._progressColor();
1224
+ }
1095
1225
  /**
1096
1226
  * Fires when the animation that indicates the latest value change completes.
1097
1227
  */
@@ -1101,21 +1231,68 @@ class CircularProgressBarComponent {
1101
1231
  labelElement;
1102
1232
  surface;
1103
1233
  centerTemplate;
1104
- centerTemplateContext = {};
1105
- _indeterminate = false;
1106
- _max = 100;
1107
- _min = 0;
1108
- _value = 0;
1234
+ /**
1235
+ * @hidden
1236
+ */
1237
+ get centerTemplateContext() {
1238
+ return this._centerTemplateContext();
1239
+ }
1109
1240
  previousValue = 0;
1110
1241
  internalValue = 0;
1111
1242
  rtl;
1112
1243
  subscriptions = new Subscription();
1113
- constructor(renderer, cdr, localization, element, zone) {
1244
+ _value = signal(0, ...(ngDevMode ? [{ debugName: "_value" }] : []));
1245
+ _max = signal(100, ...(ngDevMode ? [{ debugName: "_max" }] : []));
1246
+ _min = signal(0, ...(ngDevMode ? [{ debugName: "_min" }] : []));
1247
+ _animation = signal(false, ...(ngDevMode ? [{ debugName: "_animation" }] : []));
1248
+ _opacity = signal(1, ...(ngDevMode ? [{ debugName: "_opacity" }] : []));
1249
+ _indeterminate = signal(false, ...(ngDevMode ? [{ debugName: "_indeterminate" }] : []));
1250
+ _progressColor = signal(undefined, ...(ngDevMode ? [{ debugName: "_progressColor" }] : []));
1251
+ _centerTemplateContext = signal({}, ...(ngDevMode ? [{ debugName: "_centerTemplateContext" }] : []));
1252
+ _valueEffectInitialized = false;
1253
+ valueChangeEffect = effect(() => {
1254
+ const _value = this._value(); // tracks _value signal changes
1255
+ if (!this._valueEffectInitialized) {
1256
+ this._valueEffectInitialized = true;
1257
+ return;
1258
+ }
1259
+ if (!this.progress) {
1260
+ return;
1261
+ }
1262
+ const animation = untracked(() => this._animation());
1263
+ if (animation) {
1264
+ this.progressbarAnimation();
1265
+ }
1266
+ else {
1267
+ const relValue = _value - untracked(() => this._min());
1268
+ this.internalValue = _value;
1269
+ this.calculateProgress(relValue);
1270
+ }
1271
+ }, ...(ngDevMode ? [{ debugName: "valueChangeEffect" }] : []));
1272
+ opacityEffect = effect(() => {
1273
+ const opacity = this._opacity();
1274
+ if (!this.progress) {
1275
+ return;
1276
+ }
1277
+ setProgressBarStyles([{ method: 'setAttribute', el: this.progress.nativeElement, attr: 'opacity', attrValue: opacity.toString() }], this.renderer);
1278
+ }, ...(ngDevMode ? [{ debugName: "opacityEffect" }] : []));
1279
+ _indeterminateEffectInitialized = false;
1280
+ indeterminateEffect = effect(() => {
1281
+ const _indeterminate = this._indeterminate();
1282
+ if (!this._indeterminateEffectInitialized) {
1283
+ this._indeterminateEffectInitialized = true;
1284
+ return;
1285
+ }
1286
+ if (!this.progress) {
1287
+ return;
1288
+ }
1289
+ this.indeterminateState();
1290
+ }, ...(ngDevMode ? [{ debugName: "indeterminateEffect" }] : []));
1291
+ constructor(renderer, localization, element, injector) {
1114
1292
  this.renderer = renderer;
1115
- this.cdr = cdr;
1116
1293
  this.localization = localization;
1117
1294
  this.element = element;
1118
- this.zone = zone;
1295
+ this.injector = injector;
1119
1296
  validatePackage(packageMetadata);
1120
1297
  this.subscriptions.add(this.localization.changes.subscribe(this.rtlChange.bind(this)));
1121
1298
  }
@@ -1128,25 +1305,6 @@ class CircularProgressBarComponent {
1128
1305
  this.renderer.setAttribute(elem, 'aria-label', ariaLabel);
1129
1306
  this.initProgressArc();
1130
1307
  }
1131
- ngOnChanges(changes) {
1132
- const skipFirstChange = true;
1133
- if (isChanged('value', changes, skipFirstChange) && this.progress) {
1134
- if (this.animation) {
1135
- this.progressbarAnimation();
1136
- }
1137
- else {
1138
- const value = this.value - this.min;
1139
- this.internalValue = changes['value'].currentValue;
1140
- this.calculateProgress(value);
1141
- }
1142
- }
1143
- if (changes['opacity'] && this.progress) {
1144
- setProgressBarStyles([{ method: 'setAttribute', el: this.progress.nativeElement, attr: 'opacity', attrValue: this.opacity.toString() }], this.renderer);
1145
- }
1146
- if (changes['indeterminate'] && !changes['indeterminate'].firstChange) {
1147
- this.indeterminateState();
1148
- }
1149
- }
1150
1308
  ngOnDestroy() {
1151
1309
  this.subscriptions.unsubscribe();
1152
1310
  }
@@ -1179,9 +1337,9 @@ class CircularProgressBarComponent {
1179
1337
  this.updateProgressColor(value);
1180
1338
  }
1181
1339
  // needed when we have *ngIf inside the template to render different content depending on some condition
1182
- this.zone.onStable.pipe(take(1)).subscribe(() => {
1340
+ afterNextRender(() => {
1183
1341
  this.updateCenterTemplate(value + this.min);
1184
- });
1342
+ }, { injector: this.injector });
1185
1343
  const progressArc = this.progress.nativeElement;
1186
1344
  const radius = this.progress.nativeElement.r.baseVal.value;
1187
1345
  const circumference = Math.PI * (radius * 2);
@@ -1288,10 +1446,10 @@ class CircularProgressBarComponent {
1288
1446
  if (!this.centerTemplate) {
1289
1447
  return;
1290
1448
  }
1291
- this.centerTemplateContext.value = value;
1292
- this.centerTemplateContext.color = this.currentColor;
1293
- this.cdr.detectChanges();
1294
- this.positionLabel();
1449
+ this._centerTemplateContext.set({ value, color: this.currentColor });
1450
+ afterNextRender(() => {
1451
+ this.positionLabel();
1452
+ }, { injector: this.injector });
1295
1453
  }
1296
1454
  positionLabel() {
1297
1455
  const labelEl = this.labelElement.nativeElement;
@@ -1367,14 +1525,14 @@ class CircularProgressBarComponent {
1367
1525
  this.setDirection();
1368
1526
  }
1369
1527
  }
1370
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CircularProgressBarComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
1371
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.25", type: CircularProgressBarComponent, isStandalone: true, selector: "kendo-circularprogressbar", inputs: { value: "value", max: "max", min: "min", animation: "animation", opacity: "opacity", indeterminate: "indeterminate", progressColor: "progressColor" }, outputs: { animationEnd: "animationEnd" }, host: { properties: { "class.k-circular-progressbar": "this.hostClasses", "attr.aria-valuemin": "this.ariaMinAttribute", "attr.aria-valuemax": "this.ariaMaxAttribute", "attr.aria-valuenow": "this.ariaValueAttribute", "attr.role": "this.roleAttribute" } }, providers: [
1528
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CircularProgressBarComponent, deps: [{ token: i0.Renderer2 }, { token: i1.LocalizationService }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
1529
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.25", type: CircularProgressBarComponent, isStandalone: true, selector: "kendo-circularprogressbar", inputs: { value: "value", max: "max", min: "min", animation: "animation", opacity: "opacity", indeterminate: "indeterminate", progressColor: "progressColor" }, outputs: { animationEnd: "animationEnd" }, host: { properties: { "class.k-circular-progressbar": "this.hostClasses", "attr.aria-valuemin": "this.ariaMinAttribute", "attr.aria-valuemax": "this.ariaMaxAttribute", "attr.aria-valuenow": "this.ariaValueAttribute", "attr.role": "this.roleAttribute" } }, providers: [
1372
1530
  LocalizationService,
1373
1531
  {
1374
1532
  provide: L10N_PREFIX,
1375
1533
  useValue: 'kendo.circularprogressbar'
1376
1534
  }
1377
- ], queries: [{ propertyName: "centerTemplate", first: true, predicate: CircularProgressbarCenterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "progress", first: true, predicate: ["progress"], descendants: true }, { propertyName: "scale", first: true, predicate: ["scale"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true }, { propertyName: "surface", first: true, predicate: ["surface"], descendants: true }], exportAs: ["kendoCircularProgressBar"], usesOnChanges: true, ngImport: i0, template: `
1535
+ ], queries: [{ propertyName: "centerTemplate", first: true, predicate: CircularProgressbarCenterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "progress", first: true, predicate: ["progress"], descendants: true }, { propertyName: "scale", first: true, predicate: ["scale"], descendants: true }, { propertyName: "labelElement", first: true, predicate: ["label"], descendants: true }, { propertyName: "surface", first: true, predicate: ["surface"], descendants: true }], exportAs: ["kendoCircularProgressBar"], ngImport: i0, template: `
1378
1536
  <ng-container kendoProgressBarLocalizedMessages
1379
1537
  i18n-progressBarLabel="kendo.circularprogressbar.progressBarLabel|The aria-label attribute for the Circular ProgressBar component."
1380
1538
  progressBarLabel="Circular progressbar"
@@ -1396,13 +1554,13 @@ class CircularProgressBarComponent {
1396
1554
  </div>
1397
1555
  </div>
1398
1556
  <kendo-resize-sensor (resize)="onResize()"></kendo-resize-sensor>
1399
- `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedProgressBarMessagesDirective, selector: "[kendoProgressBarLocalizedMessages]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }] });
1557
+ `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedProgressBarMessagesDirective, selector: "[kendoProgressBarLocalizedMessages]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1400
1558
  }
1401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: CircularProgressBarComponent, decorators: [{
1559
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: CircularProgressBarComponent, decorators: [{
1402
1560
  type: Component,
1403
1561
  args: [{
1404
- exportAs: 'kendoCircularProgressBar',
1405
1562
  selector: 'kendo-circularprogressbar',
1563
+ exportAs: 'kendoCircularProgressBar',
1406
1564
  template: `
1407
1565
  <ng-container kendoProgressBarLocalizedMessages
1408
1566
  i18n-progressBarLabel="kendo.circularprogressbar.progressBarLabel|The aria-label attribute for the Circular ProgressBar component."
@@ -1433,9 +1591,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImpo
1433
1591
  }
1434
1592
  ],
1435
1593
  standalone: true,
1594
+ changeDetection: ChangeDetectionStrategy.OnPush,
1436
1595
  imports: [LocalizedProgressBarMessagesDirective, NgTemplateOutlet, ResizeSensorComponent]
1437
1596
  }]
1438
- }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { hostClasses: [{
1597
+ }], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i1.LocalizationService }, { type: i0.ElementRef }, { type: i0.Injector }], propDecorators: { hostClasses: [{
1439
1598
  type: HostBinding,
1440
1599
  args: ['class.k-circular-progressbar']
1441
1600
  }], ariaMinAttribute: [{
@@ -1520,15 +1679,15 @@ class ProgressBarCustomMessagesComponent extends ProgressBarMessages {
1520
1679
  get override() {
1521
1680
  return true;
1522
1681
  }
1523
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1524
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.25", type: ProgressBarCustomMessagesComponent, isStandalone: true, selector: "kendo-progressbar-messages", providers: [
1682
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarCustomMessagesComponent, deps: [{ token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
1683
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.25", type: ProgressBarCustomMessagesComponent, isStandalone: true, selector: "kendo-progressbar-messages", providers: [
1525
1684
  {
1526
1685
  provide: ProgressBarMessages,
1527
1686
  useExisting: forwardRef(() => ProgressBarCustomMessagesComponent)
1528
1687
  }
1529
1688
  ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
1530
1689
  }
1531
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarCustomMessagesComponent, decorators: [{
1690
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarCustomMessagesComponent, decorators: [{
1532
1691
  type: Component,
1533
1692
  args: [{
1534
1693
  providers: [
@@ -1640,11 +1799,11 @@ const KENDO_PROGRESSBARS = [
1640
1799
  * ```
1641
1800
  */
1642
1801
  class ProgressBarModule {
1643
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1644
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarModule, imports: [ChunkProgressBarComponent, ProgressBarCustomMessagesComponent, CircularProgressbarCenterTemplateDirective, CircularProgressBarComponent, ProgressBarCustomMessagesComponent, ProgressBarComponent, ProgressBarCustomMessagesComponent], exports: [ChunkProgressBarComponent, ProgressBarCustomMessagesComponent, CircularProgressbarCenterTemplateDirective, CircularProgressBarComponent, ProgressBarCustomMessagesComponent, ProgressBarComponent, ProgressBarCustomMessagesComponent] });
1645
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarModule, providers: [ResizeBatchService], imports: [CircularProgressBarComponent] });
1802
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1803
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarModule, imports: [ChunkProgressBarComponent, ProgressBarCustomMessagesComponent, CircularProgressbarCenterTemplateDirective, CircularProgressBarComponent, ProgressBarCustomMessagesComponent, ProgressBarComponent, ProgressBarCustomMessagesComponent], exports: [ChunkProgressBarComponent, ProgressBarCustomMessagesComponent, CircularProgressbarCenterTemplateDirective, CircularProgressBarComponent, ProgressBarCustomMessagesComponent, ProgressBarComponent, ProgressBarCustomMessagesComponent] });
1804
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarModule, providers: [ResizeBatchService], imports: [CircularProgressBarComponent] });
1646
1805
  }
1647
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.25", ngImport: i0, type: ProgressBarModule, decorators: [{
1806
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.25", ngImport: i0, type: ProgressBarModule, decorators: [{
1648
1807
  type: NgModule,
1649
1808
  args: [{
1650
1809
  exports: [...KENDO_PROGRESSBARS],