@progress/kendo-angular-progressbar 21.4.1 → 22.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/common/localization/messages.d.ts +1 -1
  2. package/common/progressbar-base.d.ts +1 -1
  3. package/fesm2022/progress-kendo-angular-progressbar.mjs +31 -31
  4. package/package.json +9 -17
  5. package/esm2022/chunk/chunk-progressbar.component.mjs +0 -192
  6. package/esm2022/circularprogressbar/center-template.directive.mjs +0 -34
  7. package/esm2022/circularprogressbar/circular-progressbar.component.mjs +0 -523
  8. package/esm2022/circularprogressbar/models/center-template-context.interface.mjs +0 -5
  9. package/esm2022/circularprogressbar/models/circular-progressbar-progress-color-interface.mjs +0 -8
  10. package/esm2022/common/constants.mjs +0 -16
  11. package/esm2022/common/localization/custom-messages.component.mjs +0 -68
  12. package/esm2022/common/localization/localized-messages.directive.mjs +0 -39
  13. package/esm2022/common/localization/messages.mjs +0 -24
  14. package/esm2022/common/progressbar-base.mjs +0 -228
  15. package/esm2022/common/util.mjs +0 -99
  16. package/esm2022/directives.mjs +0 -85
  17. package/esm2022/index.mjs +0 -12
  18. package/esm2022/package-metadata.mjs +0 -16
  19. package/esm2022/progress-kendo-angular-progressbar.mjs +0 -8
  20. package/esm2022/progressbar.component.mjs +0 -380
  21. package/esm2022/progressbar.module.mjs +0 -45
  22. package/esm2022/types/animation-end-event.mjs +0 -5
  23. package/esm2022/types/animation-options.interface.mjs +0 -5
  24. package/esm2022/types/label-fn-type.mjs +0 -5
  25. package/esm2022/types/label-position.mjs +0 -5
  26. package/esm2022/types/label-settings.interface.mjs +0 -5
  27. package/esm2022/types/label-type.mjs +0 -5
  28. package/esm2022/types/progressbar-animation.interface.mjs +0 -5
  29. package/esm2022/types/progressbar-orientation.mjs +0 -5
@@ -1,24 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { Directive, Input } from '@angular/core';
6
- import { ComponentMessages } from '@progress/kendo-angular-l10n';
7
- import * as i0 from "@angular/core";
8
- /**
9
- * @hidden
10
- */
11
- export class ProgressBarMessages extends ComponentMessages {
12
- /**
13
- * The aria-label attribute for the ProgressBar component.
14
- */
15
- progressBarLabel;
16
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProgressBarMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
17
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ProgressBarMessages, inputs: { progressBarLabel: "progressBarLabel" }, usesInheritance: true, ngImport: i0 });
18
- }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProgressBarMessages, decorators: [{
20
- type: Directive,
21
- args: [{}]
22
- }], propDecorators: { progressBarLabel: [{
23
- type: Input
24
- }] } });
@@ -1,228 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { LocalizationService } from '@progress/kendo-angular-l10n';
6
- import { HostBinding, Input, Component, ElementRef, Renderer2 } from '@angular/core';
7
- import { validatePackage } from '@progress/kendo-licensing';
8
- import { packageMetadata } from '../package-metadata';
9
- import { validateRange, adjustValueToRange, calculateRatio, extractValueFromChanges } from './util';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@progress/kendo-angular-l10n";
12
- /**
13
- * @hidden
14
- */
15
- export class ProgressBarBase {
16
- elem;
17
- renderer;
18
- localization;
19
- hostClasses = true;
20
- get isHorizontal() {
21
- return this.orientation === 'horizontal';
22
- }
23
- get isVertical() {
24
- return this.orientation === 'vertical';
25
- }
26
- get disabledClass() {
27
- return this.disabled;
28
- }
29
- get reverseClass() {
30
- return this.reverse;
31
- }
32
- get indeterminateClass() {
33
- return this.indeterminate;
34
- }
35
- get dirAttribute() {
36
- return this.direction;
37
- }
38
- roleAttribute = 'progressbar';
39
- get ariaMinAttribute() {
40
- return String(this.min);
41
- }
42
- get ariaMaxAttribute() {
43
- return String(this.max);
44
- }
45
- get ariaValueAttribute() {
46
- return this.indeterminate ? undefined : String(this.displayValue);
47
- }
48
- /**
49
- * The maximum value of the ProgressBar.
50
- * Defaults to `100`.
51
- */
52
- max = 100;
53
- /**
54
- * The minimum value of the ProgressBar.
55
- * Defaults to `0`.
56
- */
57
- min = 0;
58
- /**
59
- * The value of the ProgressBar.
60
- * Has to be between `min` and `max`.
61
- * By default, the value is equal to the `min` value.
62
- */
63
- /**
64
- * The value of the ProgressBar.
65
- * Has to be between `min` and `max`.
66
- * Defaults to `0`.
67
- */
68
- value = 0;
69
- /**
70
- * @hidden
71
- */
72
- get isCompleted() {
73
- return this.value === this.max;
74
- }
75
- /**
76
- * @hidden
77
- */
78
- get statusWidth() {
79
- return this.orientation === 'horizontal' ? this._progressRatio * 100 : 100;
80
- }
81
- /**
82
- * @hidden
83
- */
84
- get statusHeight() {
85
- return this.orientation === 'vertical' ? this._progressRatio * 100 : 100;
86
- }
87
- /**
88
- * @hidden
89
- */
90
- get statusWrapperWidth() {
91
- return this.orientation === 'horizontal' ? 100 / this._progressRatio : 100;
92
- }
93
- /**
94
- * @hidden
95
- */
96
- get statusWrapperHeight() {
97
- return this.orientation === 'vertical' ? 100 / this._progressRatio : 100;
98
- }
99
- get _progressRatio() {
100
- return calculateRatio(this.min, this.max, this.displayValue);
101
- }
102
- /**
103
- * Defines the orientation of the ProgressBar
104
- * ([see example]({% slug progressbar_orientation %})).
105
- * Defaults to `horizontal`.
106
- */
107
- orientation = 'horizontal';
108
- /**
109
- * If set to `true`, the ProgressBar will be disabled
110
- * ([see example]({% slug progressbar_disabled %})).
111
- * It will still allow you to change its value.
112
- * Defaults to `false`.
113
- */
114
- disabled = false;
115
- /**
116
- * If set to `true`, the ProgressBar will be reversed
117
- * ([see example]({% slug progressbar_direction %})).
118
- * Defaults to `false`.
119
- */
120
- reverse = false;
121
- /**
122
- * Sets the `indeterminate` state of the ProgressBar.
123
- * Defaults to `false`.
124
- */
125
- indeterminate = false;
126
- direction;
127
- localizationChangeSubscription;
128
- displayValue = 0;
129
- previousValue = 0;
130
- /**
131
- * @hidden
132
- */
133
- constructor(elem, renderer, localization) {
134
- this.elem = elem;
135
- this.renderer = renderer;
136
- this.localization = localization;
137
- validatePackage(packageMetadata);
138
- this.localizationChangeSubscription = localization.changes.subscribe(({ rtl }) => {
139
- this.direction = rtl ? 'rtl' : 'ltr';
140
- });
141
- }
142
- ngAfterViewInit() {
143
- const elem = this.elem.nativeElement;
144
- const label = this.localization.get('progressBarLabel');
145
- this.renderer.setAttribute(elem, 'aria-label', label);
146
- }
147
- ngOnChanges(changes) {
148
- const min = extractValueFromChanges(changes, 'min', this.min);
149
- const max = extractValueFromChanges(changes, 'max', this.max);
150
- const value = extractValueFromChanges(changes, 'value', this.value);
151
- if (changes['min'] || changes['max'] || changes['value']) {
152
- if (changes['min'] || changes['max']) {
153
- validateRange(min, max);
154
- }
155
- if (changes['value']) {
156
- if (value == null || Number.isNaN(value)) {
157
- this.value = min;
158
- }
159
- const previousValue = this.displayValue;
160
- this.displayValue = adjustValueToRange(this.min, this.max, value);
161
- this.previousValue = previousValue;
162
- }
163
- this.min = min;
164
- this.max = max;
165
- this.displayValue = adjustValueToRange(this.min, this.max, value);
166
- }
167
- }
168
- ngOnDestroy() {
169
- if (this.localizationChangeSubscription) {
170
- this.localizationChangeSubscription.unsubscribe();
171
- }
172
- }
173
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProgressBarBase, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
174
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProgressBarBase, 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 });
175
- }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProgressBarBase, decorators: [{
177
- type: Component,
178
- args: [{
179
- template: ''
180
- }]
181
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }], propDecorators: { hostClasses: [{
182
- type: HostBinding,
183
- args: ['class.k-progressbar']
184
- }], isHorizontal: [{
185
- type: HostBinding,
186
- args: ['class.k-progressbar-horizontal']
187
- }], isVertical: [{
188
- type: HostBinding,
189
- args: ['class.k-progressbar-vertical']
190
- }], disabledClass: [{
191
- type: HostBinding,
192
- args: ['class.k-disabled']
193
- }], reverseClass: [{
194
- type: HostBinding,
195
- args: ['class.k-progressbar-reverse']
196
- }], indeterminateClass: [{
197
- type: HostBinding,
198
- args: ['class.k-progressbar-indeterminate']
199
- }], dirAttribute: [{
200
- type: HostBinding,
201
- args: ['attr.dir']
202
- }], roleAttribute: [{
203
- type: HostBinding,
204
- args: ['attr.role']
205
- }], ariaMinAttribute: [{
206
- type: HostBinding,
207
- args: ['attr.aria-valuemin']
208
- }], ariaMaxAttribute: [{
209
- type: HostBinding,
210
- args: ['attr.aria-valuemax']
211
- }], ariaValueAttribute: [{
212
- type: HostBinding,
213
- args: ['attr.aria-valuenow']
214
- }], max: [{
215
- type: Input
216
- }], min: [{
217
- type: Input
218
- }], value: [{
219
- type: Input
220
- }], orientation: [{
221
- type: Input
222
- }], disabled: [{
223
- type: Input
224
- }], reverse: [{
225
- type: Input
226
- }], indeterminate: [{
227
- type: Input
228
- }] } });
@@ -1,99 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { LABEL_DECIMALS, MIN_MAX_ERROR_MESSAGE, MIN_RATIO } from './constants';
6
- import { isDevMode } from '@angular/core';
7
- /**
8
- * @hidden
9
- */
10
- export const formatValue = (value, min, max, label) => {
11
- const defaultFormattedValue = truncateNumber(value);
12
- if (typeof label !== 'boolean') {
13
- if (typeof label.format === 'string') {
14
- switch (label.format) {
15
- case 'value':
16
- return defaultFormattedValue;
17
- case 'percent':
18
- return `${Math.floor(calculatePercentage(value, min, max))}%`;
19
- default:
20
- return defaultFormattedValue;
21
- }
22
- }
23
- else if (typeof label.format === 'function') {
24
- return label.format(value);
25
- }
26
- else {
27
- return defaultFormattedValue;
28
- }
29
- }
30
- return defaultFormattedValue;
31
- };
32
- /**
33
- * @hidden
34
- */
35
- export const validateRange = (min, max) => {
36
- if (isDevMode && min > max) {
37
- throw new Error(MIN_MAX_ERROR_MESSAGE);
38
- }
39
- };
40
- /**
41
- * @hidden
42
- */
43
- export const adjustValueToRange = (min, max, value) => Math.max(Math.min(value, max), min);
44
- /**
45
- * @hidden
46
- */
47
- export const calculatePercentage = (value, min, max) => {
48
- const decimalValue = Math.abs((value - min) / (max - min));
49
- return decimalValue * 100;
50
- };
51
- /**
52
- * @hidden
53
- */
54
- const truncateNumber = (value) => {
55
- const numberParts = value.toString().split('.');
56
- return numberParts.length === 1 ? `${numberParts[0]}` : `${numberParts[0]}.${numberParts[1].substr(0, LABEL_DECIMALS)}`;
57
- };
58
- /**
59
- * @hidden
60
- */
61
- export const calculateRatio = (min, max, value) => Math.max((value - min) / (max - min), MIN_RATIO);
62
- /**
63
- * @hidden
64
- */
65
- export const extractValueFromChanges = (changes, type, value) => changes[type] && changes[type].currentValue !== undefined ? changes[type].currentValue : value;
66
- /**
67
- * @hidden
68
- */
69
- export const runAnimation = (changes, animation, previousValue, displayValue) => animation && typeof requestAnimationFrame !== 'undefined' && changes['value'] && previousValue !== displayValue;
70
- /**
71
- * @hidden
72
- */
73
- export const stopCurrentAnimation = (changes) => {
74
- const isAnimationChanged = Boolean(changes['animation']);
75
- const hasAnimation = isAnimationChanged && changes['animation'].currentValue;
76
- return isAnimationChanged && !hasAnimation;
77
- };
78
- /**
79
- * @hidden
80
- */
81
- export const setProgressBarStyles = (props, renderer) => {
82
- props.forEach(prop => {
83
- renderer[prop.method](prop.el, prop.attr, `${prop.attrValue}`);
84
- });
85
- };
86
- /**
87
- * @hidden
88
- */
89
- export const removeProgressBarStyles = (props, renderer) => {
90
- props.forEach(prop => {
91
- renderer[prop.method](prop.el, prop.attr);
92
- });
93
- };
94
- /**
95
- * @hidden
96
- */
97
- export const hasElementSize = (element) => {
98
- return !!(element.style.width && element.style.height);
99
- };
@@ -1,85 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- import { ChunkProgressBarComponent } from "./chunk/chunk-progressbar.component";
6
- import { CircularProgressbarCenterTemplateDirective } from "./circularprogressbar/center-template.directive";
7
- import { CircularProgressBarComponent } from "./circularprogressbar/circular-progressbar.component";
8
- import { ProgressBarCustomMessagesComponent } from "./common/localization/custom-messages.component";
9
- import { ProgressBarComponent } from "./progressbar.component";
10
- /**
11
- * Use this utility array to access all ChunkProgressBar-related components and directives in a standalone Angular component.
12
- *
13
- * @example
14
- * ```typescript
15
- * import { KENDO_CHUNKPROGRESSBAR } from '@progress/kendo-angular-progressbar';
16
- * @Component({
17
- * standalone: true,
18
- * imports: [KENDO_CHUNKPROGRESSBAR],
19
- * template: `<kendo-chunkprogressbar [value]="50"></kendo-chunkprogressbar>`,
20
- * })
21
- * export class MyComponent {}
22
- * ```
23
- */
24
- export const KENDO_CHUNKPROGRESSBAR = [
25
- ChunkProgressBarComponent,
26
- ProgressBarCustomMessagesComponent
27
- ];
28
- /**
29
- * Use this utility array to access all CircularProgressbar-related components and directives in a standalone Angular component.
30
- *
31
- * @example
32
- * ```typescript
33
- * import { KENDO_CIRCULARPROGRESSBAR } from '@progress/kendo-angular-progressbar';
34
- * @Component({
35
- * standalone: true,
36
- * imports: [KENDO_CIRCULARPROGRESSBAR],
37
- * template: `<kendo-circularprogressbar [value]="75"></kendo-circularprogressbar>`,
38
- * })
39
- * export class MyComponent {}
40
- * ```
41
- */
42
- export const KENDO_CIRCULARPROGRESSBAR = [
43
- CircularProgressbarCenterTemplateDirective,
44
- CircularProgressBarComponent,
45
- ProgressBarCustomMessagesComponent
46
- ];
47
- /**
48
- * Use this utility array to access all ProgressBar-related components and directives in a standalone Angular component.
49
- *
50
- * @example
51
- * ```typescript
52
- * import { KENDO_PROGRESSBAR } from '@progress/kendo-angular-progressbar';
53
- * @Component({
54
- * standalone: true,
55
- * imports: [KENDO_PROGRESSBAR],
56
- * template: `<kendo-progressbar [value]="75"></kendo-progressbar>`,
57
- * })
58
- * export class MyComponent {}
59
- * ```
60
- */
61
- export const KENDO_PROGRESSBAR = [
62
- ProgressBarComponent,
63
- ProgressBarCustomMessagesComponent
64
- ];
65
- /**
66
- * Use this utility array all `@progress/kendo-angular-progressbar`-related components and directives.
67
- * @example
68
- * ```typescript
69
- * import { KENDO_PROGRESSBARS } from '@progress/kendo-angular-progressbar';
70
- * @Component({
71
- * standalone: true,
72
- * imports: [KENDO_PROGRESSBARS],
73
- * template: `
74
- * <kendo-progressbar [value]="75"></kendo-progressbar>
75
- * <kendo-circularprogressbar [value]="75"></kendo-circularprogressbar>
76
- * `,
77
- * })
78
- * export class MyComponent {}
79
- * ```
80
- */
81
- export const KENDO_PROGRESSBARS = [
82
- ...KENDO_CHUNKPROGRESSBAR,
83
- ...KENDO_CIRCULARPROGRESSBAR,
84
- ...KENDO_PROGRESSBAR
85
- ];
package/esm2022/index.mjs DELETED
@@ -1,12 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- export { ProgressBarComponent } from './progressbar.component';
6
- export { ChunkProgressBarComponent } from './chunk/chunk-progressbar.component';
7
- export { CircularProgressBarComponent } from './circularprogressbar/circular-progressbar.component';
8
- export { ProgressBarModule } from './progressbar.module';
9
- export { CircularProgressbarCenterTemplateDirective } from './circularprogressbar/center-template.directive';
10
- export { LocalizedProgressBarMessagesDirective } from './common/localization/localized-messages.directive';
11
- export { ProgressBarCustomMessagesComponent } from './common/localization/custom-messages.component';
12
- export * from './directives';
@@ -1,16 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- /**
6
- * @hidden
7
- */
8
- export const packageMetadata = {
9
- name: '@progress/kendo-angular-progressbar',
10
- productName: 'Kendo UI for Angular',
11
- productCode: 'KENDOUIANGULAR',
12
- productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1768393047,
14
- version: '21.4.1',
15
- licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
- };
@@ -1,8 +0,0 @@
1
- /**-----------------------------------------------------------------------------------------
2
- * Copyright © 2026 Progress Software Corporation. All rights reserved.
3
- * Licensed under commercial license. See LICENSE.md in the project root for more information
4
- *-------------------------------------------------------------------------------------------*/
5
- /**
6
- * Generated bundle index. Do not edit.
7
- */
8
- export * from './index';