@progress/kendo-angular-inputs 19.3.0-develop.24 → 19.3.0-develop.26

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.
@@ -10,7 +10,7 @@ export const packageMetadata = {
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCode: 'KENDOUIANGULAR',
12
12
  productCodes: ['KENDOUIANGULAR'],
13
- publishDate: 1754485173,
14
- version: '19.3.0-develop.24',
13
+ publishDate: 1754555109,
14
+ version: '19.3.0-develop.26',
15
15
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
16
16
  };
@@ -22,7 +22,7 @@ export class TextFieldsBase {
22
22
  /**
23
23
  * Sets the `title` attribute of the internal textarea input element of the component.
24
24
  */
25
- title = '';
25
+ title;
26
26
  /**
27
27
  * Sets the disabled state of the TextArea component. To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_textarea#toc-managing-the-textarea-disabled-state-in-reactive-forms).
28
28
  *
@@ -122,6 +122,10 @@ export class TextAreaComponent extends TextFieldsBase {
122
122
  * Sets the maximum number of characters allowed in the text area.
123
123
  */
124
124
  maxlength;
125
+ /**
126
+ * @hidden
127
+ */
128
+ maxResizableRows;
125
129
  /**
126
130
  * Sets the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
127
131
  * @default 0
@@ -212,6 +216,7 @@ export class TextAreaComponent extends TextFieldsBase {
212
216
  */
213
217
  valueChange = new EventEmitter();
214
218
  initialHeight;
219
+ maxResizableHeight;
215
220
  resizeSubscription;
216
221
  _size = 'medium';
217
222
  _rounded = 'medium';
@@ -262,6 +267,14 @@ export class TextAreaComponent extends TextFieldsBase {
262
267
  this.ngZone.runOutsideAngular(() => {
263
268
  this.handleFlow();
264
269
  });
270
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
271
+ if (this.prefix) {
272
+ this.prefix.flow = this.flow;
273
+ }
274
+ if (this.suffix) {
275
+ this.suffix.flow = this.flow;
276
+ }
277
+ });
265
278
  const stylingInputs = ['size', 'rounded', 'fillMode'];
266
279
  stylingInputs.forEach(input => {
267
280
  this.handleClasses(this[input], input);
@@ -289,8 +302,14 @@ export class TextAreaComponent extends TextFieldsBase {
289
302
  }
290
303
  if (changes.resizable) {
291
304
  if (this.resizable === 'auto') {
292
- this.renderer.removeClass(element, '\!k-overflow-y-auto');
293
- this.initialHeight = element.offsetHeight;
305
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
306
+ this.renderer.removeClass(element, '\!k-overflow-y-auto');
307
+ this.initialHeight = element.offsetHeight;
308
+ if (this.maxResizableRows && this.rows) {
309
+ const heightValue = parseFloat(getComputedStyle(element).getPropertyValue('height')) - 2 * parseFloat(getComputedStyle(element).getPropertyValue('padding'));
310
+ this.maxResizableHeight = this.initialHeight + (heightValue * (this.maxResizableRows - this.rows));
311
+ }
312
+ });
294
313
  }
295
314
  else if (this.resizable !== 'both') {
296
315
  this.renderer.addClass(element, '\!k-overflow-y-auto');
@@ -454,6 +473,10 @@ export class TextAreaComponent extends TextFieldsBase {
454
473
  const element = this.input.nativeElement;
455
474
  this.renderer.setStyle(element, 'height', `${this.initialHeight}px`);
456
475
  const scrollHeight = element.scrollHeight;
476
+ if (scrollHeight > this.maxResizableHeight) {
477
+ this.renderer.setStyle(element, 'height', `${this.maxResizableHeight}px`);
478
+ return;
479
+ }
457
480
  this.renderer.setStyle(hostElement, 'min-height', `${scrollHeight}px`);
458
481
  if (scrollHeight > this.initialHeight) {
459
482
  this.renderer.setStyle(element, 'height', `${scrollHeight}px`);
@@ -524,7 +547,7 @@ export class TextAreaComponent extends TextFieldsBase {
524
547
  setHTMLAttributes(attributesToRender, this.renderer, this.input.nativeElement, this.ngZone);
525
548
  }
526
549
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextAreaComponent, deps: [{ token: i1.LocalizationService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
527
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextAreaComponent, isStandalone: true, selector: "kendo-textarea", inputs: { focusableId: "focusableId", flow: "flow", inputAttributes: "inputAttributes", adornmentsOrientation: "adornmentsOrientation", rows: "rows", cols: "cols", maxlength: "maxlength", tabindex: "tabindex", tabIndex: "tabIndex", resizable: "resizable", size: "size", rounded: "rounded", fillMode: "fillMode", showPrefixSeparator: "showPrefixSeparator", showSuffixSeparator: "showSuffixSeparator" }, outputs: { onFocus: "focus", onBlur: "blur", valueChange: "valueChange" }, host: { properties: { "class.k-textarea": "this.hostClasses", "class.k-input": "this.hostClasses", "class.!k-flex-col": "this.flowCol", "class.!k-flex-row": "this.flowRow" } }, providers: [
550
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextAreaComponent, isStandalone: true, selector: "kendo-textarea", inputs: { focusableId: "focusableId", flow: "flow", inputAttributes: "inputAttributes", adornmentsOrientation: "adornmentsOrientation", rows: "rows", cols: "cols", maxlength: "maxlength", maxResizableRows: "maxResizableRows", tabindex: "tabindex", tabIndex: "tabIndex", resizable: "resizable", size: "size", rounded: "rounded", fillMode: "fillMode", showPrefixSeparator: "showPrefixSeparator", showSuffixSeparator: "showSuffixSeparator" }, outputs: { onFocus: "focus", onBlur: "blur", valueChange: "valueChange" }, host: { properties: { "class.k-textarea": "this.hostClasses", "class.k-input": "this.hostClasses", "class.!k-flex-col": "this.flowCol", "class.!k-flex-row": "this.flowRow" } }, providers: [
528
551
  LocalizationService,
529
552
  { provide: L10N_PREFIX, useValue: 'kendo.textarea' },
530
553
  {
@@ -666,6 +689,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
666
689
  type: Input
667
690
  }], maxlength: [{
668
691
  type: Input
692
+ }], maxResizableRows: [{
693
+ type: Input
669
694
  }], tabindex: [{
670
695
  type: Input
671
696
  }], tabIndex: [{
@@ -550,8 +550,8 @@ const packageMetadata = {
550
550
  productName: 'Kendo UI for Angular',
551
551
  productCode: 'KENDOUIANGULAR',
552
552
  productCodes: ['KENDOUIANGULAR'],
553
- publishDate: 1754485173,
554
- version: '19.3.0-develop.24',
553
+ publishDate: 1754555109,
554
+ version: '19.3.0-develop.26',
555
555
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
556
556
  };
557
557
 
@@ -17084,7 +17084,7 @@ class TextFieldsBase {
17084
17084
  /**
17085
17085
  * Sets the `title` attribute of the internal textarea input element of the component.
17086
17086
  */
17087
- title = '';
17087
+ title;
17088
17088
  /**
17089
17089
  * Sets the disabled state of the TextArea component. To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_textarea#toc-managing-the-textarea-disabled-state-in-reactive-forms).
17090
17090
  *
@@ -17313,6 +17313,10 @@ class TextAreaComponent extends TextFieldsBase {
17313
17313
  * Sets the maximum number of characters allowed in the text area.
17314
17314
  */
17315
17315
  maxlength;
17316
+ /**
17317
+ * @hidden
17318
+ */
17319
+ maxResizableRows;
17316
17320
  /**
17317
17321
  * Sets the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
17318
17322
  * @default 0
@@ -17403,6 +17407,7 @@ class TextAreaComponent extends TextFieldsBase {
17403
17407
  */
17404
17408
  valueChange = new EventEmitter();
17405
17409
  initialHeight;
17410
+ maxResizableHeight;
17406
17411
  resizeSubscription;
17407
17412
  _size = 'medium';
17408
17413
  _rounded = 'medium';
@@ -17453,6 +17458,14 @@ class TextAreaComponent extends TextFieldsBase {
17453
17458
  this.ngZone.runOutsideAngular(() => {
17454
17459
  this.handleFlow();
17455
17460
  });
17461
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
17462
+ if (this.prefix) {
17463
+ this.prefix.flow = this.flow;
17464
+ }
17465
+ if (this.suffix) {
17466
+ this.suffix.flow = this.flow;
17467
+ }
17468
+ });
17456
17469
  const stylingInputs = ['size', 'rounded', 'fillMode'];
17457
17470
  stylingInputs.forEach(input => {
17458
17471
  this.handleClasses(this[input], input);
@@ -17480,8 +17493,14 @@ class TextAreaComponent extends TextFieldsBase {
17480
17493
  }
17481
17494
  if (changes.resizable) {
17482
17495
  if (this.resizable === 'auto') {
17483
- this.renderer.removeClass(element, '\!k-overflow-y-auto');
17484
- this.initialHeight = element.offsetHeight;
17496
+ this.ngZone.onStable.pipe(take(1)).subscribe(() => {
17497
+ this.renderer.removeClass(element, '\!k-overflow-y-auto');
17498
+ this.initialHeight = element.offsetHeight;
17499
+ if (this.maxResizableRows && this.rows) {
17500
+ const heightValue = parseFloat(getComputedStyle(element).getPropertyValue('height')) - 2 * parseFloat(getComputedStyle(element).getPropertyValue('padding'));
17501
+ this.maxResizableHeight = this.initialHeight + (heightValue * (this.maxResizableRows - this.rows));
17502
+ }
17503
+ });
17485
17504
  }
17486
17505
  else if (this.resizable !== 'both') {
17487
17506
  this.renderer.addClass(element, '\!k-overflow-y-auto');
@@ -17645,6 +17664,10 @@ class TextAreaComponent extends TextFieldsBase {
17645
17664
  const element = this.input.nativeElement;
17646
17665
  this.renderer.setStyle(element, 'height', `${this.initialHeight}px`);
17647
17666
  const scrollHeight = element.scrollHeight;
17667
+ if (scrollHeight > this.maxResizableHeight) {
17668
+ this.renderer.setStyle(element, 'height', `${this.maxResizableHeight}px`);
17669
+ return;
17670
+ }
17648
17671
  this.renderer.setStyle(hostElement, 'min-height', `${scrollHeight}px`);
17649
17672
  if (scrollHeight > this.initialHeight) {
17650
17673
  this.renderer.setStyle(element, 'height', `${scrollHeight}px`);
@@ -17715,7 +17738,7 @@ class TextAreaComponent extends TextFieldsBase {
17715
17738
  setHTMLAttributes(attributesToRender, this.renderer, this.input.nativeElement, this.ngZone);
17716
17739
  }
17717
17740
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextAreaComponent, deps: [{ token: i1.LocalizationService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
17718
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextAreaComponent, isStandalone: true, selector: "kendo-textarea", inputs: { focusableId: "focusableId", flow: "flow", inputAttributes: "inputAttributes", adornmentsOrientation: "adornmentsOrientation", rows: "rows", cols: "cols", maxlength: "maxlength", tabindex: "tabindex", tabIndex: "tabIndex", resizable: "resizable", size: "size", rounded: "rounded", fillMode: "fillMode", showPrefixSeparator: "showPrefixSeparator", showSuffixSeparator: "showSuffixSeparator" }, outputs: { onFocus: "focus", onBlur: "blur", valueChange: "valueChange" }, host: { properties: { "class.k-textarea": "this.hostClasses", "class.k-input": "this.hostClasses", "class.!k-flex-col": "this.flowCol", "class.!k-flex-row": "this.flowRow" } }, providers: [
17741
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextAreaComponent, isStandalone: true, selector: "kendo-textarea", inputs: { focusableId: "focusableId", flow: "flow", inputAttributes: "inputAttributes", adornmentsOrientation: "adornmentsOrientation", rows: "rows", cols: "cols", maxlength: "maxlength", maxResizableRows: "maxResizableRows", tabindex: "tabindex", tabIndex: "tabIndex", resizable: "resizable", size: "size", rounded: "rounded", fillMode: "fillMode", showPrefixSeparator: "showPrefixSeparator", showSuffixSeparator: "showSuffixSeparator" }, outputs: { onFocus: "focus", onBlur: "blur", valueChange: "valueChange" }, host: { properties: { "class.k-textarea": "this.hostClasses", "class.k-input": "this.hostClasses", "class.!k-flex-col": "this.flowCol", "class.!k-flex-row": "this.flowRow" } }, providers: [
17719
17742
  LocalizationService,
17720
17743
  { provide: L10N_PREFIX, useValue: 'kendo.textarea' },
17721
17744
  {
@@ -17857,6 +17880,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
17857
17880
  type: Input
17858
17881
  }], maxlength: [{
17859
17882
  type: Input
17883
+ }], maxResizableRows: [{
17884
+ type: Input
17860
17885
  }], tabindex: [{
17861
17886
  type: Input
17862
17887
  }], tabIndex: [{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-inputs",
3
- "version": "19.3.0-develop.24",
3
+ "version": "19.3.0-develop.26",
4
4
  "description": "Kendo UI for Angular Inputs Package - Everything you need to build professional form functionality (Checkbox, ColorGradient, ColorPalette, ColorPicker, FlatColorPicker, FormField, MaskedTextBox, NumericTextBox, RadioButton, RangeSlider, Slider, Switch, TextArea, and TextBox Components)",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -28,7 +28,7 @@
28
28
  "package": {
29
29
  "productName": "Kendo UI for Angular",
30
30
  "productCode": "KENDOUIANGULAR",
31
- "publishDate": 1754485173,
31
+ "publishDate": 1754555109,
32
32
  "licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
33
33
  }
34
34
  },
@@ -40,20 +40,20 @@
40
40
  "@angular/platform-browser": "16 - 20",
41
41
  "@progress/kendo-drawing": "^1.21.0",
42
42
  "@progress/kendo-licensing": "^1.7.0",
43
- "@progress/kendo-angular-buttons": "19.3.0-develop.24",
44
- "@progress/kendo-angular-common": "19.3.0-develop.24",
45
- "@progress/kendo-angular-utils": "19.3.0-develop.24",
46
- "@progress/kendo-angular-navigation": "19.3.0-develop.24",
47
- "@progress/kendo-angular-dialog": "19.3.0-develop.24",
48
- "@progress/kendo-angular-intl": "19.3.0-develop.24",
49
- "@progress/kendo-angular-l10n": "19.3.0-develop.24",
50
- "@progress/kendo-angular-popup": "19.3.0-develop.24",
51
- "@progress/kendo-angular-icons": "19.3.0-develop.24",
43
+ "@progress/kendo-angular-buttons": "19.3.0-develop.26",
44
+ "@progress/kendo-angular-common": "19.3.0-develop.26",
45
+ "@progress/kendo-angular-utils": "19.3.0-develop.26",
46
+ "@progress/kendo-angular-navigation": "19.3.0-develop.26",
47
+ "@progress/kendo-angular-dialog": "19.3.0-develop.26",
48
+ "@progress/kendo-angular-intl": "19.3.0-develop.26",
49
+ "@progress/kendo-angular-l10n": "19.3.0-develop.26",
50
+ "@progress/kendo-angular-popup": "19.3.0-develop.26",
51
+ "@progress/kendo-angular-icons": "19.3.0-develop.26",
52
52
  "rxjs": "^6.5.3 || ^7.0.0"
53
53
  },
54
54
  "dependencies": {
55
55
  "tslib": "^2.3.1",
56
- "@progress/kendo-angular-schematics": "19.3.0-develop.24",
56
+ "@progress/kendo-angular-schematics": "19.3.0-develop.26",
57
57
  "@progress/kendo-common": "^1.0.1",
58
58
  "@progress/kendo-draggable": "^3.0.0",
59
59
  "@progress/kendo-inputs-common": "^3.1.0"
@@ -20,7 +20,7 @@ export declare abstract class TextFieldsBase {
20
20
  /**
21
21
  * Sets the `title` attribute of the internal textarea input element of the component.
22
22
  */
23
- title: string;
23
+ title: string | undefined;
24
24
  /**
25
25
  * Sets the disabled state of the TextArea component. To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_textarea#toc-managing-the-textarea-disabled-state-in-reactive-forms).
26
26
  *
@@ -74,6 +74,10 @@ export declare class TextAreaComponent extends TextFieldsBase implements Control
74
74
  * Sets the maximum number of characters allowed in the text area.
75
75
  */
76
76
  maxlength: number;
77
+ /**
78
+ * @hidden
79
+ */
80
+ maxResizableRows: number;
77
81
  /**
78
82
  * Sets the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
79
83
  * @default 0
@@ -142,6 +146,7 @@ export declare class TextAreaComponent extends TextFieldsBase implements Control
142
146
  */
143
147
  valueChange: EventEmitter<any>;
144
148
  private initialHeight;
149
+ private maxResizableHeight;
145
150
  private resizeSubscription;
146
151
  private _size;
147
152
  private _rounded;
@@ -233,5 +238,5 @@ export declare class TextAreaComponent extends TextFieldsBase implements Control
233
238
  private handleFlow;
234
239
  private setInputAttributes;
235
240
  static ɵfac: i0.ɵɵFactoryDeclaration<TextAreaComponent, never>;
236
- static ɵcmp: i0.ɵɵComponentDeclaration<TextAreaComponent, "kendo-textarea", ["kendoTextArea"], { "focusableId": { "alias": "focusableId"; "required": false; }; "flow": { "alias": "flow"; "required": false; }; "inputAttributes": { "alias": "inputAttributes"; "required": false; }; "adornmentsOrientation": { "alias": "adornmentsOrientation"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "showPrefixSeparator": { "alias": "showPrefixSeparator"; "required": false; }; "showSuffixSeparator": { "alias": "showSuffixSeparator"; "required": false; }; }, { "onFocus": "focus"; "onBlur": "blur"; "valueChange": "valueChange"; }, ["prefix", "suffix"], ["kendo-textarea-prefix", "kendo-textarea-suffix"], true, never>;
241
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextAreaComponent, "kendo-textarea", ["kendoTextArea"], { "focusableId": { "alias": "focusableId"; "required": false; }; "flow": { "alias": "flow"; "required": false; }; "inputAttributes": { "alias": "inputAttributes"; "required": false; }; "adornmentsOrientation": { "alias": "adornmentsOrientation"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "cols": { "alias": "cols"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "maxResizableRows": { "alias": "maxResizableRows"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "fillMode": { "alias": "fillMode"; "required": false; }; "showPrefixSeparator": { "alias": "showPrefixSeparator"; "required": false; }; "showSuffixSeparator": { "alias": "showSuffixSeparator"; "required": false; }; }, { "onFocus": "focus"; "onBlur": "blur"; "valueChange": "valueChange"; }, ["prefix", "suffix"], ["kendo-textarea-prefix", "kendo-textarea-suffix"], true, never>;
237
242
  }