@progress/kendo-angular-inputs 8.0.0-dev.202112161434 → 8.0.0-dev.202112211528

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 (104) hide show
  1. package/dist/cdn/js/kendo-angular-inputs.js +2 -2
  2. package/dist/cdn/main.js +1 -1
  3. package/dist/es/checkbox/checkbox.directive.js +79 -3
  4. package/dist/es/colorpicker/color-gradient.component.js +1 -1
  5. package/dist/es/colorpicker/color-input.component.js +1 -1
  6. package/dist/es/colorpicker/colorpicker.component.js +111 -6
  7. package/dist/es/colorpicker/flatcolorpicker-actions.component.js +1 -1
  8. package/dist/es/colorpicker/flatcolorpicker-header.component.js +1 -1
  9. package/dist/es/common/models/fillmode.js +4 -0
  10. package/dist/es/common/models/rounded.js +4 -0
  11. package/dist/es/common/models/size.js +4 -0
  12. package/dist/es/common/models/styling-classes.js +4 -0
  13. package/dist/es/common/models.js +4 -0
  14. package/dist/es/common/utils.js +37 -0
  15. package/dist/es/main.js +0 -1
  16. package/dist/es/maskedtextbox/maskedtextbox.component.js +101 -6
  17. package/dist/es/numerictextbox/numerictextbox.component.js +116 -20
  18. package/dist/es/package-metadata.js +1 -1
  19. package/dist/es/radiobutton/radiobutton.directive.js +52 -3
  20. package/dist/es/shared/textarea.directive.js +3 -2
  21. package/dist/es/switch/switch.component.js +167 -21
  22. package/dist/es/text-fields-common/text-fields-base.js +1 -1
  23. package/dist/es/textarea/textarea.component.js +101 -5
  24. package/dist/es/textbox/textbox.component.js +108 -11
  25. package/dist/es/textbox/textbox.directive.js +3 -2
  26. package/dist/es/textbox.module.js +0 -3
  27. package/dist/es2015/checkbox/checkbox.directive.d.ts +31 -0
  28. package/dist/es2015/checkbox/checkbox.directive.js +68 -10
  29. package/dist/es2015/colorpicker/color-gradient.component.js +1 -1
  30. package/dist/es2015/colorpicker/color-input.component.js +1 -1
  31. package/dist/es2015/colorpicker/colorpicker.component.d.ts +45 -3
  32. package/dist/es2015/colorpicker/colorpicker.component.js +113 -16
  33. package/dist/es2015/colorpicker/flatcolorpicker-actions.component.js +2 -2
  34. package/dist/es2015/colorpicker/flatcolorpicker-header.component.js +2 -2
  35. package/dist/es2015/common/models/fillmode.d.ts +13 -0
  36. package/dist/es2015/common/models/fillmode.js +4 -0
  37. package/dist/es2015/common/models/rounded.d.ts +23 -0
  38. package/dist/es2015/common/models/rounded.js +4 -0
  39. package/dist/es2015/common/models/size.d.ts +14 -0
  40. package/dist/es2015/common/models/size.js +4 -0
  41. package/dist/es2015/common/models/styling-classes.d.ts +11 -0
  42. package/dist/es2015/common/models/styling-classes.js +4 -0
  43. package/dist/es2015/common/models.d.ts +8 -0
  44. package/dist/es2015/common/models.js +4 -0
  45. package/dist/es2015/common/utils.d.ts +7 -0
  46. package/dist/es2015/common/utils.js +37 -0
  47. package/dist/es2015/index.metadata.json +1 -1
  48. package/dist/es2015/main.d.ts +1 -1
  49. package/dist/es2015/main.js +0 -1
  50. package/dist/es2015/maskedtextbox/maskedtextbox.component.d.ts +39 -1
  51. package/dist/es2015/maskedtextbox/maskedtextbox.component.js +88 -6
  52. package/dist/es2015/numerictextbox/numerictextbox.component.d.ts +39 -2
  53. package/dist/es2015/numerictextbox/numerictextbox.component.js +124 -40
  54. package/dist/es2015/package-metadata.js +1 -1
  55. package/dist/es2015/radiobutton/radiobutton.directive.d.ts +18 -0
  56. package/dist/es2015/radiobutton/radiobutton.directive.js +46 -11
  57. package/dist/es2015/shared/textarea.directive.d.ts +1 -1
  58. package/dist/es2015/shared/textarea.directive.js +3 -2
  59. package/dist/es2015/switch/switch.component.d.ts +48 -5
  60. package/dist/es2015/switch/switch.component.js +166 -24
  61. package/dist/es2015/text-fields-common/text-fields-base.js +1 -1
  62. package/dist/es2015/textarea/textarea.component.d.ts +39 -1
  63. package/dist/es2015/textarea/textarea.component.js +89 -5
  64. package/dist/es2015/textbox/textbox.component.d.ts +40 -1
  65. package/dist/es2015/textbox/textbox.component.js +96 -11
  66. package/dist/es2015/textbox/textbox.directive.d.ts +1 -1
  67. package/dist/es2015/textbox/textbox.directive.js +3 -2
  68. package/dist/es2015/textbox.module.js +0 -3
  69. package/dist/fesm2015/index.js +936 -478
  70. package/dist/fesm5/index.js +1015 -484
  71. package/dist/npm/checkbox/checkbox.directive.js +78 -2
  72. package/dist/npm/colorpicker/color-gradient.component.js +1 -1
  73. package/dist/npm/colorpicker/color-input.component.js +1 -1
  74. package/dist/npm/colorpicker/colorpicker.component.js +109 -4
  75. package/dist/npm/colorpicker/flatcolorpicker-actions.component.js +1 -1
  76. package/dist/npm/colorpicker/flatcolorpicker-header.component.js +1 -1
  77. package/dist/npm/common/models/fillmode.js +6 -0
  78. package/dist/npm/common/models/rounded.js +6 -0
  79. package/dist/npm/common/models/size.js +6 -0
  80. package/dist/npm/common/models/styling-classes.js +6 -0
  81. package/dist/npm/common/models.js +6 -0
  82. package/dist/npm/common/utils.js +37 -0
  83. package/dist/npm/main.js +0 -2
  84. package/dist/npm/maskedtextbox/maskedtextbox.component.js +100 -5
  85. package/dist/npm/numerictextbox/numerictextbox.component.js +115 -19
  86. package/dist/npm/package-metadata.js +1 -1
  87. package/dist/npm/radiobutton/radiobutton.directive.js +51 -2
  88. package/dist/npm/shared/textarea.directive.js +3 -2
  89. package/dist/npm/switch/switch.component.js +166 -20
  90. package/dist/npm/text-fields-common/text-fields-base.js +1 -1
  91. package/dist/npm/textarea/textarea.component.js +100 -4
  92. package/dist/npm/textbox/textbox.component.js +107 -10
  93. package/dist/npm/textbox/textbox.directive.js +3 -2
  94. package/dist/npm/textbox.module.js +0 -3
  95. package/dist/systemjs/kendo-angular-inputs.js +1 -1
  96. package/package.json +11 -11
  97. package/dist/es/textbox/floating-label-input-adapter.js +0 -58
  98. package/dist/es/textbox/textbox-container.component.js +0 -224
  99. package/dist/es2015/textbox/floating-label-input-adapter.d.ts +0 -20
  100. package/dist/es2015/textbox/floating-label-input-adapter.js +0 -52
  101. package/dist/es2015/textbox/textbox-container.component.d.ts +0 -59
  102. package/dist/es2015/textbox/textbox-container.component.js +0 -209
  103. package/dist/npm/textbox/floating-label-input-adapter.js +0 -60
  104. package/dist/npm/textbox/textbox-container.component.js +0 -226
@@ -11,9 +11,9 @@ import { packageMetadata } from '../package-metadata';
11
11
  import { MaskingService } from './masking.service';
12
12
  import { isChanged, anyChanged, guid, hasObservers, KendoInput } from '@progress/kendo-angular-common';
13
13
  import { invokeElementMethod } from '../common/dom-utils';
14
- import { requiresZoneOnBlur, isPresent } from '../common/utils';
14
+ import { requiresZoneOnBlur, isPresent, getStylingClasses } from '../common/utils';
15
15
  var resolvedPromise = Promise.resolve(null);
16
- var FOCUSED = 'k-state-focused';
16
+ var FOCUSED = 'k-focus';
17
17
  /**
18
18
  * Represents the [Kendo UI MaskedTextBox component for Angular]({% slug overview_maskedtextbox %}).
19
19
  *
@@ -147,6 +147,9 @@ var MaskedTextBoxComponent = /** @class */ (function () {
147
147
  };
148
148
  this.isPasted = false;
149
149
  this.selection = [0, 0];
150
+ this._size = 'medium';
151
+ this._rounded = 'medium';
152
+ this._fillMode = 'solid';
150
153
  /**
151
154
  * @hidden
152
155
  */
@@ -200,6 +203,66 @@ var MaskedTextBoxComponent = /** @class */ (function () {
200
203
  this.updateService();
201
204
  }
202
205
  MaskedTextBoxComponent_1 = MaskedTextBoxComponent;
206
+ Object.defineProperty(MaskedTextBoxComponent.prototype, "size", {
207
+ get: function () {
208
+ return this._size;
209
+ },
210
+ /**
211
+ * The size property specifies the font size and line height of the MaskedTextBox
212
+ * ([see example]({% slug appearance_maskedtextbox %}#toc-size)).
213
+ * The possible values are:
214
+ * * `'small'`
215
+ * * `'medium'` (default)
216
+ * * `'large'`
217
+ * * `null`
218
+ */
219
+ set: function (size) {
220
+ this.handleClasses(size, 'size');
221
+ this._size = size;
222
+ },
223
+ enumerable: true,
224
+ configurable: true
225
+ });
226
+ Object.defineProperty(MaskedTextBoxComponent.prototype, "rounded", {
227
+ get: function () {
228
+ return this._rounded;
229
+ },
230
+ /**
231
+ * The rounded property specifies the border radius of the MaskedTextBox
232
+ * ([see example]({% slug appearance_maskedtextbox %}#toc-rounded)).
233
+ * The possible values are:
234
+ * * `'small'`
235
+ * * `'medium'` (default)
236
+ * * `'large'`
237
+ * * `null`
238
+ */
239
+ set: function (rounded) {
240
+ this.handleClasses(rounded, 'rounded');
241
+ this._rounded = rounded;
242
+ },
243
+ enumerable: true,
244
+ configurable: true
245
+ });
246
+ Object.defineProperty(MaskedTextBoxComponent.prototype, "fillMode", {
247
+ get: function () {
248
+ return this._fillMode;
249
+ },
250
+ /**
251
+ * The fillMode property specifies the background and border styles of the MaskedTexBox
252
+ * ([see example]({% slug appearance_maskedtextbox %}#toc-fillMode)).
253
+ * The possible values are:
254
+ * * `flat`
255
+ * * `solid` (default)
256
+ * * `outline`
257
+ * * `null`
258
+ */
259
+ set: function (fillMode) {
260
+ this.handleClasses(fillMode, 'fillMode');
261
+ this._fillMode = fillMode;
262
+ },
263
+ enumerable: true,
264
+ configurable: true
265
+ });
203
266
  Object.defineProperty(MaskedTextBoxComponent.prototype, "hostDisabledClass", {
204
267
  get: function () {
205
268
  return this.disabled;
@@ -239,9 +302,16 @@ var MaskedTextBoxComponent = /** @class */ (function () {
239
302
  }
240
303
  this.control = this.injector.get(NgControl, null);
241
304
  };
305
+ MaskedTextBoxComponent.prototype.ngAfterViewInit = function () {
306
+ var _this = this;
307
+ var stylingInputs = ['size', 'rounded', 'fillMode'];
308
+ stylingInputs.forEach(function (input) {
309
+ _this.handleClasses(_this[input], input);
310
+ });
311
+ };
242
312
  /**
243
313
  * @hidden
244
- * Used by the TextBoxContainer to determine if the MaskedTextBox is empty.
314
+ * Used by the FloatingLabel to determine if the MaskedTextBox is empty.
245
315
  */
246
316
  MaskedTextBoxComponent.prototype.isEmpty = function () {
247
317
  if (this.input) {
@@ -493,6 +563,16 @@ var MaskedTextBoxComponent = /** @class */ (function () {
493
563
  }
494
564
  return present ? value : '';
495
565
  };
566
+ MaskedTextBoxComponent.prototype.handleClasses = function (value, input) {
567
+ var elem = this.hostElement.nativeElement;
568
+ var classes = getStylingClasses('input', input, this[input], value);
569
+ if (classes.toRemove) {
570
+ this.renderer.removeClass(elem, classes.toRemove);
571
+ }
572
+ if (classes.toAdd) {
573
+ this.renderer.addClass(elem, classes.toAdd);
574
+ }
575
+ };
496
576
  var MaskedTextBoxComponent_1;
497
577
  tslib_1.__decorate([
498
578
  Input(),
@@ -510,17 +590,32 @@ var MaskedTextBoxComponent = /** @class */ (function () {
510
590
  Input(),
511
591
  tslib_1.__metadata("design:type", String)
512
592
  ], MaskedTextBoxComponent.prototype, "title", void 0);
593
+ tslib_1.__decorate([
594
+ Input(),
595
+ tslib_1.__metadata("design:type", String),
596
+ tslib_1.__metadata("design:paramtypes", [String])
597
+ ], MaskedTextBoxComponent.prototype, "size", null);
598
+ tslib_1.__decorate([
599
+ Input(),
600
+ tslib_1.__metadata("design:type", String),
601
+ tslib_1.__metadata("design:paramtypes", [String])
602
+ ], MaskedTextBoxComponent.prototype, "rounded", null);
603
+ tslib_1.__decorate([
604
+ Input(),
605
+ tslib_1.__metadata("design:type", String),
606
+ tslib_1.__metadata("design:paramtypes", [String])
607
+ ], MaskedTextBoxComponent.prototype, "fillMode", null);
513
608
  tslib_1.__decorate([
514
609
  HostBinding('attr.dir'),
515
610
  tslib_1.__metadata("design:type", String)
516
611
  ], MaskedTextBoxComponent.prototype, "direction", void 0);
517
612
  tslib_1.__decorate([
518
- HostBinding('class.k-widget'),
613
+ HostBinding('class.k-input'),
519
614
  HostBinding('class.k-maskedtextbox'),
520
615
  tslib_1.__metadata("design:type", Boolean)
521
616
  ], MaskedTextBoxComponent.prototype, "hostClasses", void 0);
522
617
  tslib_1.__decorate([
523
- HostBinding('class.k-state-disabled'),
618
+ HostBinding('class.k-disabled'),
524
619
  tslib_1.__metadata("design:type", Boolean),
525
620
  tslib_1.__metadata("design:paramtypes", [])
526
621
  ], MaskedTextBoxComponent.prototype, "hostDisabledClass", null);
@@ -615,7 +710,7 @@ var MaskedTextBoxComponent = /** @class */ (function () {
615
710
  }
616
711
  ],
617
712
  selector: 'kendo-maskedtextbox',
618
- template: "\n <input type=\"text\"\n #input\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n class=\"k-textbox\"\n [id]=\"focusableId\"\n [tabindex]=\"tabIndex\"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [kendoEventsOutsideAngular]=\"{\n focus: handleFocus,\n blur: handleBlur,\n click: handleClick,\n dragstart: handleDragDrop,\n drop: handleDragDrop\n }\"\n />\n "
713
+ template: "\n <input type=\"text\"\n #input\n autocomplete=\"off\"\n autocorrect=\"off\"\n autocapitalize=\"off\"\n spellcheck=\"false\"\n class=\"k-input-inner\"\n [id]=\"focusableId\"\n [tabindex]=\"tabIndex\"\n [attr.title]=\"title\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [kendoEventsOutsideAngular]=\"{\n focus: handleFocus,\n blur: handleBlur,\n click: handleClick,\n dragstart: handleDragDrop,\n drop: handleDragDrop\n }\"\n />\n "
619
714
  }),
620
715
  tslib_1.__param(6, Optional()), tslib_1.__param(6, Inject(RTL)),
621
716
  tslib_1.__metadata("design:paramtypes", [MaskingService,
@@ -5,7 +5,7 @@
5
5
  import * as tslib_1 from "tslib";
6
6
  import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, Renderer2, ViewChild, forwardRef, isDevMode, NgZone, ChangeDetectorRef, Injector } from '@angular/core';
7
7
  import { anyChanged, hasObservers, Keys, guid, KendoInput } from '@progress/kendo-angular-common';
8
- import { areSame, requiresZoneOnBlur } from '../common/utils';
8
+ import { areSame, getStylingClasses, requiresZoneOnBlur } from '../common/utils';
9
9
  import { invokeElementMethod } from '../common/dom-utils';
10
10
  import { add, toFixedPrecision, limitPrecision } from '../common/math';
11
11
  import { createMaxValidator } from '../validators/max.validator';
@@ -26,8 +26,7 @@ var PARSABLE_DEFAULTS = {
26
26
  min: null,
27
27
  step: 1
28
28
  };
29
- var FOCUSED = 'k-state-focused';
30
- var FORMATTED_VALUE = 'k-formatted-value';
29
+ var FOCUSED = 'k-focus';
31
30
  /**
32
31
  * Represents the [Kendo UI NumericTextBox component for Angular]({% slug overview_numerictextbox %}).
33
32
  */
@@ -123,15 +122,20 @@ var NumericTextBoxComponent = /** @class */ (function () {
123
122
  * @hidden
124
123
  */
125
124
  this.arrowDirection = ArrowDirection.None;
125
+ this.hostClasses = true;
126
126
  this.inputValue = '';
127
127
  this.minValidateFn = noop;
128
128
  this.maxValidateFn = noop;
129
129
  this._format = "n2";
130
130
  this.isPasted = false;
131
131
  this.mouseDown = false;
132
+ this._size = 'medium';
133
+ this._rounded = 'medium';
134
+ this._fillMode = 'solid';
132
135
  this.ngChange = noop;
133
136
  this.ngTouched = noop;
134
137
  this.ngValidatorChange = noop;
138
+ this.domEvents = [];
135
139
  /**
136
140
  * @hidden
137
141
  */
@@ -326,9 +330,69 @@ var NumericTextBoxComponent = /** @class */ (function () {
326
330
  enumerable: true,
327
331
  configurable: true
328
332
  });
329
- Object.defineProperty(NumericTextBoxComponent.prototype, "widgetClasses", {
333
+ Object.defineProperty(NumericTextBoxComponent.prototype, "size", {
330
334
  get: function () {
331
- return true;
335
+ return this._size;
336
+ },
337
+ /**
338
+ * The size property specifies the font size and line height of the NumericTextBox
339
+ * ([see example]({% slug appearance_numerictextbox %}#toc-size)).
340
+ * The possible values are:
341
+ * * `'small'`
342
+ * * `'medium'` (default)
343
+ * * `'large'`
344
+ * * `null`
345
+ */
346
+ set: function (size) {
347
+ this.handleClasses(size, 'size');
348
+ this._size = size;
349
+ },
350
+ enumerable: true,
351
+ configurable: true
352
+ });
353
+ Object.defineProperty(NumericTextBoxComponent.prototype, "rounded", {
354
+ get: function () {
355
+ return this._rounded;
356
+ },
357
+ /**
358
+ * The rounded property specifies the border radius of the NumericTextBox
359
+ * ([see example]({% slug appearance_numerictextbox %}#toc-rounded)).
360
+ * The possible values are:
361
+ * * `'small'`
362
+ * * `'medium'` (default)
363
+ * * `'large'`
364
+ * * `null`
365
+ */
366
+ set: function (rounded) {
367
+ this.handleClasses(rounded, 'rounded');
368
+ this._rounded = rounded;
369
+ },
370
+ enumerable: true,
371
+ configurable: true
372
+ });
373
+ Object.defineProperty(NumericTextBoxComponent.prototype, "fillMode", {
374
+ get: function () {
375
+ return this._fillMode;
376
+ },
377
+ /**
378
+ * The fillMode property specifies the background and border styles of the NumericTextBox
379
+ * ([see example]({% slug appearance_numerictextbox %}#toc-fillMode)).
380
+ * The possible values are:
381
+ * * `'flat'`
382
+ * * `'solid'` (default)
383
+ * * `'outline'`
384
+ * * `null`
385
+ */
386
+ set: function (fillMode) {
387
+ this.handleClasses(fillMode, 'fillMode');
388
+ this._fillMode = fillMode;
389
+ },
390
+ enumerable: true,
391
+ configurable: true
392
+ });
393
+ Object.defineProperty(NumericTextBoxComponent.prototype, "disableClass", {
394
+ get: function () {
395
+ return this.disabled;
332
396
  },
333
397
  enumerable: true,
334
398
  configurable: true
@@ -346,6 +410,17 @@ var NumericTextBoxComponent = /** @class */ (function () {
346
410
  this.renderer.removeAttribute(this.hostElement.nativeElement, "tabindex");
347
411
  }
348
412
  this.control = this.injector.get(NgControl, null);
413
+ this.ngZone.runOutsideAngular(function () {
414
+ _this.domEvents.push(_this.renderer.listen(_this.hostElement.nativeElement, 'mousewheel', _this.handleWheel.bind(_this)));
415
+ _this.domEvents.push(_this.renderer.listen(_this.hostElement.nativeElement, 'DOMMouseScroll', _this.handleWheel.bind(_this)));
416
+ });
417
+ };
418
+ NumericTextBoxComponent.prototype.ngAfterViewInit = function () {
419
+ var _this = this;
420
+ var stylingInputs = ['size', 'rounded', 'fillMode'];
421
+ stylingInputs.forEach(function (input) {
422
+ _this.handleClasses(_this[input], input);
423
+ });
349
424
  };
350
425
  /**
351
426
  * @hidden
@@ -379,6 +454,7 @@ var NumericTextBoxComponent = /** @class */ (function () {
379
454
  this.subscriptions.unsubscribe();
380
455
  }
381
456
  clearTimeout(this.spinTimeout);
457
+ this.domEvents.forEach(function (unbindHandler) { return unbindHandler(); });
382
458
  };
383
459
  /**
384
460
  * @hidden
@@ -498,18 +574,13 @@ var NumericTextBoxComponent = /** @class */ (function () {
498
574
  return this.isFocused;
499
575
  },
500
576
  set: function (value) {
501
- if (this.isFocused !== value && this.numericWrap) {
502
- var wrap = this.numericWrap.nativeElement;
503
- var input = this.numericInput.nativeElement;
577
+ if (this.isFocused !== value && this.hostElement) {
578
+ var wrap = this.hostElement.nativeElement;
504
579
  if (value) {
505
580
  this.renderer.addClass(wrap, FOCUSED);
506
- if (!this.isDisabled) {
507
- this.renderer.removeClass(input, FORMATTED_VALUE);
508
- }
509
581
  }
510
582
  else {
511
583
  this.renderer.removeClass(wrap, FOCUSED);
512
- this.renderer.addClass(input, FORMATTED_VALUE);
513
584
  }
514
585
  this.isFocused = value;
515
586
  }
@@ -818,6 +889,16 @@ var NumericTextBoxComponent = /** @class */ (function () {
818
889
  }
819
890
  return significantChars;
820
891
  };
892
+ NumericTextBoxComponent.prototype.handleClasses = function (value, input) {
893
+ var elem = this.hostElement.nativeElement;
894
+ var classes = getStylingClasses('input', input, this[input], value);
895
+ if (classes.toRemove) {
896
+ this.renderer.removeClass(elem, classes.toRemove);
897
+ }
898
+ if (classes.toAdd) {
899
+ this.renderer.addClass(elem, classes.toAdd);
900
+ }
901
+ };
821
902
  var NumericTextBoxComponent_1;
822
903
  tslib_1.__decorate([
823
904
  Input(),
@@ -897,6 +978,21 @@ var NumericTextBoxComponent = /** @class */ (function () {
897
978
  Input(),
898
979
  tslib_1.__metadata("design:type", Number)
899
980
  ], NumericTextBoxComponent.prototype, "maxlength", void 0);
981
+ tslib_1.__decorate([
982
+ Input(),
983
+ tslib_1.__metadata("design:type", String),
984
+ tslib_1.__metadata("design:paramtypes", [String])
985
+ ], NumericTextBoxComponent.prototype, "size", null);
986
+ tslib_1.__decorate([
987
+ Input(),
988
+ tslib_1.__metadata("design:type", String),
989
+ tslib_1.__metadata("design:paramtypes", [String])
990
+ ], NumericTextBoxComponent.prototype, "rounded", null);
991
+ tslib_1.__decorate([
992
+ Input(),
993
+ tslib_1.__metadata("design:type", String),
994
+ tslib_1.__metadata("design:paramtypes", [String])
995
+ ], NumericTextBoxComponent.prototype, "fillMode", null);
900
996
  tslib_1.__decorate([
901
997
  Output(),
902
998
  tslib_1.__metadata("design:type", EventEmitter)
@@ -913,20 +1009,20 @@ var NumericTextBoxComponent = /** @class */ (function () {
913
1009
  ViewChild('numericInput', { static: true }),
914
1010
  tslib_1.__metadata("design:type", ElementRef)
915
1011
  ], NumericTextBoxComponent.prototype, "numericInput", void 0);
916
- tslib_1.__decorate([
917
- ViewChild('numericWrap', { static: true }),
918
- tslib_1.__metadata("design:type", ElementRef)
919
- ], NumericTextBoxComponent.prototype, "numericWrap", void 0);
920
1012
  tslib_1.__decorate([
921
1013
  HostBinding('attr.dir'),
922
1014
  tslib_1.__metadata("design:type", String)
923
1015
  ], NumericTextBoxComponent.prototype, "direction", void 0);
924
1016
  tslib_1.__decorate([
925
- HostBinding('class.k-widget'),
926
- HostBinding('class.k-numerictextbox'),
1017
+ HostBinding('class.k-disabled'),
927
1018
  tslib_1.__metadata("design:type", Boolean),
928
1019
  tslib_1.__metadata("design:paramtypes", [])
929
- ], NumericTextBoxComponent.prototype, "widgetClasses", null);
1020
+ ], NumericTextBoxComponent.prototype, "disableClass", null);
1021
+ tslib_1.__decorate([
1022
+ HostBinding('class.k-input'),
1023
+ HostBinding('class.k-numerictextbox'),
1024
+ tslib_1.__metadata("design:type", Boolean)
1025
+ ], NumericTextBoxComponent.prototype, "hostClasses", void 0);
930
1026
  NumericTextBoxComponent = NumericTextBoxComponent_1 = tslib_1.__decorate([
931
1027
  Component({
932
1028
  exportAs: 'kendoNumericTextBox',
@@ -938,7 +1034,7 @@ var NumericTextBoxComponent = /** @class */ (function () {
938
1034
  { provide: KendoInput, useExisting: forwardRef(function () { return NumericTextBoxComponent_1; }) }
939
1035
  ],
940
1036
  selector: 'kendo-numerictextbox',
941
- template: "\n <ng-container kendoNumericTextBoxLocalizedMessages\n i18n-increment=\"kendo.numerictextbox.increment|The title for the **Increment** button in the NumericTextBox\"\n increment=\"Increase value\"\n i18n-decrement=\"kendo.numerictextbox.decrement|The title for the **Decrement** button in the NumericTextBox\"\n decrement=\"Decrease value\"\n >\n </ng-container>\n <span\n class=\"k-numeric-wrap\"\n [class.k-state-disabled]=\"disabled\"\n [kendoEventsOutsideAngular]=\"{ mousewheel: handleWheel, DOMMouseScroll: handleWheel }\"\n #numericWrap>\n <input\n role=\"spinbutton\"\n class=\"k-input k-formatted-value\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n [id]=\"focusableId\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value\"\n [attr.title]=\"title\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxLength]=\"maxlength\"\n [tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: handleMouseDown,\n dragenter: handleDragEnter,\n keydown: handleKeyDown,\n input: handleInput,\n focus: handleFocus,\n blur: handleBlur,\n paste: handlePaste\n }\"\n #numericInput />\n <span class=\"k-select\" *ngIf=\"spinners\" [kendoEventsOutsideAngular]=\"{ mouseup: releaseArrow, mouseleave: releaseArrow }\">\n <span\n role=\"button\"\n [kendoEventsOutsideAngular]=\"{ mousedown: increasePress }\"\n [attr.aria-label]=\"incrementTitle\"\n [title]=\"incrementTitle\"\n [class.k-state-active]=\"arrowDirection === ArrowDirection.Up\"\n class=\"k-link k-link-increase\"\n >\n <span class=\"k-icon k-i-arrow-n\"></span>\n </span>\n <span\n role=\"button\"\n [kendoEventsOutsideAngular]=\"{ mousedown: decreasePress }\"\n [attr.aria-label]=\"decrementTitle\"\n [title]=\"decrementTitle\"\n [class.k-state-active]=\"arrowDirection === ArrowDirection.Down\"\n class=\"k-link k-link-decrease\"\n >\n <span class=\"k-icon k-i-arrow-s\"></span>\n </span>\n </span>\n </span>\n "
1037
+ template: "\n <ng-container kendoNumericTextBoxLocalizedMessages\n i18n-increment=\"kendo.numerictextbox.increment|The title for the **Increment** button in the NumericTextBox\"\n increment=\"Increase value\"\n i18n-decrement=\"kendo.numerictextbox.decrement|The title for the **Decrement** button in the NumericTextBox\"\n decrement=\"Decrease value\"\n >\n </ng-container>\n <input\n role=\"spinbutton\"\n class=\"k-input-inner\"\n autocomplete=\"off\"\n autocorrect=\"off\"\n [id]=\"focusableId\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value\"\n [attr.title]=\"title\"\n [attr.placeholder]=\"placeholder\"\n [attr.maxLength]=\"maxlength\"\n [tabindex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [kendoEventsOutsideAngular]=\"{\n mousedown: handleMouseDown,\n dragenter: handleDragEnter,\n keydown: handleKeyDown,\n input: handleInput,\n focus: handleFocus,\n blur: handleBlur,\n paste: handlePaste\n }\"\n #numericInput />\n <span\n class=\"k-input-spinner k-spin-button\" *ngIf=\"spinners\"\n [kendoEventsOutsideAngular]=\"{ mouseup: releaseArrow, mouseleave: releaseArrow }\"\n >\n <button\n type=\"button\"\n [kendoEventsOutsideAngular]=\"{ mousedown: increasePress }\"\n [attr.aria-hidden]=\"true\"\n [attr.aria-label]=\"incrementTitle\"\n [title]=\"incrementTitle\"\n [class.k-active]=\"arrowDirection === ArrowDirection.Up\"\n class=\"k-spinner-increase k-button k-icon-button k-button-solid k-button-solid-base\"\n tabindex=\"-1\"\n >\n <span class=\"k-button-icon k-icon k-i-arrow-n\"></span>\n </button>\n <button\n type=\"button\"\n [kendoEventsOutsideAngular]=\"{ mousedown: decreasePress }\"\n [attr.aria-hidden]=\"true\"\n [attr.aria-label]=\"decrementTitle\"\n [title]=\"decrementTitle\"\n [class.k-active]=\"arrowDirection === ArrowDirection.Down\"\n class=\"k-spinner-decrease k-button k-icon-button k-button-solid k-button-solid-base\"\n tabindex=\"-1\"\n >\n <span class=\"k-button-icon k-icon k-i-arrow-s\"></span>\n </button>\n </span>\n "
942
1038
  }),
943
1039
  tslib_1.__metadata("design:paramtypes", [IntlService,
944
1040
  Renderer2,
@@ -9,7 +9,7 @@ export var packageMetadata = {
9
9
  name: '@progress/kendo-angular-inputs',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1639665048,
12
+ publishDate: 1640100237,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
15
15
  };
@@ -3,7 +3,8 @@
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import * as tslib_1 from "tslib";
6
- import { Directive, HostBinding } from '@angular/core';
6
+ import { Directive, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';
7
+ import { getStylingClasses } from '../common/utils';
7
8
  /**
8
9
  * Represents the directive that renders the [Kendo UI RadioButton]({% slug overview_checkbox %}) input component.
9
10
  * The directive is placed on input type="radio" elements.
@@ -14,17 +15,65 @@ import { Directive, HostBinding } from '@angular/core';
14
15
  * ```
15
16
  */
16
17
  var RadioButtonDirective = /** @class */ (function () {
17
- function RadioButtonDirective() {
18
+ function RadioButtonDirective(renderer, hostElement) {
19
+ this.renderer = renderer;
20
+ this.hostElement = hostElement;
18
21
  this.kendoClass = true;
22
+ this._size = 'medium';
19
23
  }
24
+ Object.defineProperty(RadioButtonDirective.prototype, "size", {
25
+ get: function () {
26
+ return this._size;
27
+ },
28
+ /**
29
+ * The size property specifies the width and height of the RadioButton
30
+ * ([see example]({% slug appearance_radiobuttondirective %}#toc-size)).
31
+ * The possible values are:
32
+ * * `'small'`
33
+ * * `'medium'` (default)
34
+ * * `'large'`
35
+ * * `null`
36
+ */
37
+ set: function (size) {
38
+ this.handleClasses(size, 'size');
39
+ this._size = size;
40
+ },
41
+ enumerable: true,
42
+ configurable: true
43
+ });
44
+ RadioButtonDirective.prototype.ngAfterViewInit = function () {
45
+ var _this = this;
46
+ // kept in sync with other inputs for easier refactoring
47
+ // to a common base class
48
+ var stylingInputs = ['size'];
49
+ stylingInputs.forEach(function (input) {
50
+ _this.handleClasses(_this[input], input);
51
+ });
52
+ };
53
+ RadioButtonDirective.prototype.handleClasses = function (value, input) {
54
+ var elem = this.hostElement.nativeElement;
55
+ var classes = getStylingClasses('radio', input, this[input], value);
56
+ if (classes.toRemove) {
57
+ this.renderer.removeClass(elem, classes.toRemove);
58
+ }
59
+ if (classes.toAdd) {
60
+ this.renderer.addClass(elem, classes.toAdd);
61
+ }
62
+ };
20
63
  tslib_1.__decorate([
21
64
  HostBinding('class.k-radio'),
22
65
  tslib_1.__metadata("design:type", Boolean)
23
66
  ], RadioButtonDirective.prototype, "kendoClass", void 0);
67
+ tslib_1.__decorate([
68
+ Input(),
69
+ tslib_1.__metadata("design:type", String),
70
+ tslib_1.__metadata("design:paramtypes", [String])
71
+ ], RadioButtonDirective.prototype, "size", null);
24
72
  RadioButtonDirective = tslib_1.__decorate([
25
73
  Directive({
26
74
  selector: 'input[kendoRadioButton]'
27
- })
75
+ }),
76
+ tslib_1.__metadata("design:paramtypes", [Renderer2, ElementRef])
28
77
  ], RadioButtonDirective);
29
78
  return RadioButtonDirective;
30
79
  }());
@@ -26,7 +26,7 @@ var TextAreaDirective = /** @class */ (function () {
26
26
  this.zone = zone;
27
27
  this.changeDetector = changeDetector;
28
28
  this.injector = injector;
29
- this.elementClass = true;
29
+ this.elementClasses = true;
30
30
  this.autofillClass = true;
31
31
  /**
32
32
  * Fires each time the textarea value is changed.
@@ -218,8 +218,9 @@ var TextAreaDirective = /** @class */ (function () {
218
218
  var TextAreaDirective_1;
219
219
  tslib_1.__decorate([
220
220
  HostBinding('class.k-textarea'),
221
+ HostBinding('class.k-input'),
221
222
  tslib_1.__metadata("design:type", Boolean)
222
- ], TextAreaDirective.prototype, "elementClass", void 0);
223
+ ], TextAreaDirective.prototype, "elementClasses", void 0);
223
224
  tslib_1.__decorate([
224
225
  HostBinding('class.k-autofill'),
225
226
  tslib_1.__metadata("design:type", Boolean)