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

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 (115) 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 +4 -1
  5. package/dist/es/colorpicker/color-input.component.js +1 -1
  6. package/dist/es/colorpicker/color-palette.component.js +6 -3
  7. package/dist/es/colorpicker/colorpicker.component.js +316 -53
  8. package/dist/es/colorpicker/flatcolorpicker-actions.component.js +1 -1
  9. package/dist/es/colorpicker/flatcolorpicker-header.component.js +1 -1
  10. package/dist/es/colorpicker/flatcolorpicker.component.js +7 -4
  11. package/dist/es/common/models/fillmode.js +4 -0
  12. package/dist/es/common/models/rounded.js +4 -0
  13. package/dist/es/common/models/size.js +4 -0
  14. package/dist/es/common/models/styling-classes.js +4 -0
  15. package/dist/es/common/models.js +4 -0
  16. package/dist/es/common/utils.js +37 -0
  17. package/dist/es/main.js +0 -1
  18. package/dist/es/maskedtextbox/maskedtextbox.component.js +101 -6
  19. package/dist/es/numerictextbox/numerictextbox.component.js +116 -20
  20. package/dist/es/package-metadata.js +1 -1
  21. package/dist/es/radiobutton/radiobutton.directive.js +55 -3
  22. package/dist/es/shared/textarea.directive.js +3 -2
  23. package/dist/es/slider/slider.component.js +1 -1
  24. package/dist/es/switch/switch.component.js +167 -21
  25. package/dist/es/text-fields-common/text-fields-base.js +1 -1
  26. package/dist/es/textarea/textarea.component.js +101 -5
  27. package/dist/es/textbox/textbox.component.js +108 -11
  28. package/dist/es/textbox/textbox.directive.js +3 -2
  29. package/dist/es/textbox.module.js +0 -3
  30. package/dist/es2015/checkbox/checkbox.directive.d.ts +31 -0
  31. package/dist/es2015/checkbox/checkbox.directive.js +68 -10
  32. package/dist/es2015/colorpicker/color-gradient.component.js +4 -1
  33. package/dist/es2015/colorpicker/color-input.component.js +2 -2
  34. package/dist/es2015/colorpicker/color-palette.component.d.ts +1 -1
  35. package/dist/es2015/colorpicker/color-palette.component.js +6 -3
  36. package/dist/es2015/colorpicker/colorpicker.component.d.ts +67 -9
  37. package/dist/es2015/colorpicker/colorpicker.component.js +285 -76
  38. package/dist/es2015/colorpicker/flatcolorpicker-actions.component.js +2 -2
  39. package/dist/es2015/colorpicker/flatcolorpicker-header.component.js +2 -2
  40. package/dist/es2015/colorpicker/flatcolorpicker.component.d.ts +2 -2
  41. package/dist/es2015/colorpicker/flatcolorpicker.component.js +7 -4
  42. package/dist/es2015/common/models/fillmode.d.ts +13 -0
  43. package/dist/es2015/common/models/fillmode.js +4 -0
  44. package/dist/es2015/common/models/rounded.d.ts +23 -0
  45. package/dist/es2015/common/models/rounded.js +4 -0
  46. package/dist/es2015/common/models/size.d.ts +14 -0
  47. package/dist/es2015/common/models/size.js +4 -0
  48. package/dist/es2015/common/models/styling-classes.d.ts +11 -0
  49. package/dist/es2015/common/models/styling-classes.js +4 -0
  50. package/dist/es2015/common/models.d.ts +8 -0
  51. package/dist/es2015/common/models.js +4 -0
  52. package/dist/es2015/common/utils.d.ts +7 -0
  53. package/dist/es2015/common/utils.js +37 -0
  54. package/dist/es2015/index.metadata.json +1 -1
  55. package/dist/es2015/main.d.ts +1 -1
  56. package/dist/es2015/main.js +0 -1
  57. package/dist/es2015/maskedtextbox/maskedtextbox.component.d.ts +39 -1
  58. package/dist/es2015/maskedtextbox/maskedtextbox.component.js +88 -6
  59. package/dist/es2015/numerictextbox/numerictextbox.component.d.ts +39 -2
  60. package/dist/es2015/numerictextbox/numerictextbox.component.js +124 -40
  61. package/dist/es2015/package-metadata.js +1 -1
  62. package/dist/es2015/radiobutton/radiobutton.directive.d.ts +18 -0
  63. package/dist/es2015/radiobutton/radiobutton.directive.js +49 -11
  64. package/dist/es2015/shared/textarea.directive.d.ts +1 -1
  65. package/dist/es2015/shared/textarea.directive.js +3 -2
  66. package/dist/es2015/slider/slider.component.js +18 -23
  67. package/dist/es2015/switch/switch.component.d.ts +48 -5
  68. package/dist/es2015/switch/switch.component.js +166 -24
  69. package/dist/es2015/text-fields-common/text-fields-base.js +1 -1
  70. package/dist/es2015/textarea/textarea.component.d.ts +39 -1
  71. package/dist/es2015/textarea/textarea.component.js +89 -5
  72. package/dist/es2015/textbox/textbox.component.d.ts +40 -1
  73. package/dist/es2015/textbox/textbox.component.js +114 -30
  74. package/dist/es2015/textbox/textbox.directive.d.ts +1 -1
  75. package/dist/es2015/textbox/textbox.directive.js +3 -2
  76. package/dist/es2015/textbox.module.js +0 -3
  77. package/dist/fesm2015/index.js +1220 -654
  78. package/dist/fesm5/index.js +1276 -585
  79. package/dist/npm/checkbox/checkbox.directive.js +78 -2
  80. package/dist/npm/colorpicker/color-gradient.component.js +4 -1
  81. package/dist/npm/colorpicker/color-input.component.js +1 -1
  82. package/dist/npm/colorpicker/color-palette.component.js +6 -3
  83. package/dist/npm/colorpicker/colorpicker.component.js +313 -50
  84. package/dist/npm/colorpicker/flatcolorpicker-actions.component.js +1 -1
  85. package/dist/npm/colorpicker/flatcolorpicker-header.component.js +1 -1
  86. package/dist/npm/colorpicker/flatcolorpicker.component.js +7 -4
  87. package/dist/npm/common/models/fillmode.js +6 -0
  88. package/dist/npm/common/models/rounded.js +6 -0
  89. package/dist/npm/common/models/size.js +6 -0
  90. package/dist/npm/common/models/styling-classes.js +6 -0
  91. package/dist/npm/common/models.js +6 -0
  92. package/dist/npm/common/utils.js +37 -0
  93. package/dist/npm/main.js +0 -2
  94. package/dist/npm/maskedtextbox/maskedtextbox.component.js +100 -5
  95. package/dist/npm/numerictextbox/numerictextbox.component.js +115 -19
  96. package/dist/npm/package-metadata.js +1 -1
  97. package/dist/npm/radiobutton/radiobutton.directive.js +54 -2
  98. package/dist/npm/shared/textarea.directive.js +3 -2
  99. package/dist/npm/slider/slider.component.js +1 -1
  100. package/dist/npm/switch/switch.component.js +166 -20
  101. package/dist/npm/text-fields-common/text-fields-base.js +1 -1
  102. package/dist/npm/textarea/textarea.component.js +100 -4
  103. package/dist/npm/textbox/textbox.component.js +107 -10
  104. package/dist/npm/textbox/textbox.directive.js +3 -2
  105. package/dist/npm/textbox.module.js +0 -3
  106. package/dist/systemjs/kendo-angular-inputs.js +1 -1
  107. package/package.json +12 -12
  108. package/dist/es/textbox/floating-label-input-adapter.js +0 -58
  109. package/dist/es/textbox/textbox-container.component.js +0 -224
  110. package/dist/es2015/textbox/floating-label-input-adapter.d.ts +0 -20
  111. package/dist/es2015/textbox/floating-label-input-adapter.js +0 -52
  112. package/dist/es2015/textbox/textbox-container.component.d.ts +0 -59
  113. package/dist/es2015/textbox/textbox-container.component.js +0 -209
  114. package/dist/npm/textbox/floating-label-input-adapter.js +0 -60
  115. package/dist/npm/textbox/textbox-container.component.js +0 -226
@@ -8,8 +8,10 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
8
  import { Subscription } from 'rxjs';
9
9
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
10
10
  import { isChanged, KendoInput } from '@progress/kendo-angular-common';
11
+ import { validatePackage } from "@progress/kendo-licensing";
11
12
  import { FlatColorPickerLocalizationService } from './localization/flatcolorpicker-localization.service';
12
13
  import { FlatColorPickerService } from './services/flatcolorpicker.service';
14
+ import { packageMetadata } from "../package-metadata";
13
15
  import { ColorPickerCancelEvent } from './events';
14
16
  import { parseColor } from './utils';
15
17
  import { isPresent } from '../common/utils';
@@ -24,10 +26,10 @@ import { FlatColorPickerActionButtonsComponent } from './flatcolorpicker-actions
24
26
  * through a gradient that renders an hsv canvas. It supports previewing the selected color, reverting it to its previous state or clearing it completely.
25
27
  */
26
28
  var FlatColorPickerComponent = /** @class */ (function () {
27
- function FlatColorPickerComponent(service, host, localizationService, cdr, renderer, ngZone) {
29
+ function FlatColorPickerComponent(host, service, localizationService, cdr, renderer, ngZone) {
28
30
  var _this = this;
29
- this.service = service;
30
31
  this.host = host;
32
+ this.service = service;
31
33
  this.localizationService = localizationService;
32
34
  this.cdr = cdr;
33
35
  this.renderer = renderer;
@@ -110,6 +112,7 @@ var FlatColorPickerComponent = /** @class */ (function () {
110
112
  this.subscriptions = new Subscription();
111
113
  this.notifyNgChanged = function () { };
112
114
  this.notifyNgTouched = function () { };
115
+ validatePackage(packageMetadata);
113
116
  this.dynamicRTLSubscription = this.localizationService.changes.subscribe(function (_a) {
114
117
  var rtl = _a.rtl;
115
118
  _this.direction = rtl ? 'rtl' : 'ltr';
@@ -541,8 +544,8 @@ var FlatColorPickerComponent = /** @class */ (function () {
541
544
  ],
542
545
  template: "\n <ng-container kendoFlatColorPickerLocalizedMessages\n i18n-flatColorPickerNoColor=\"kendo.flatcolorpicker.flatColorPickerNoColor|The aria-label applied to the FlatColorPicker component when the value is empty.\"\n flatColorPickerNoColor=\"Flatcolorpicker no color chosen\"\n i18n-colorGradientNoColor=\"kendo.flatcolorpicker.colorGradientNoColor|The aria-label applied to the ColorGradient component when the value is empty.\"\n colorGradientNoColor=\"Colorgradient no color chosen\"\n i18n-colorPaletteNoColor=\"kendo.flatcolorpicker.colorPaletteNoColor|The aria-label applied to the ColorPalette component when the value is empty.\"\n colorPaletteNoColor=\"Colorpalette no color chosen\"\n i18n-colorGradientHandle=\"kendo.flatcolorpicker.colorGradientHandle|The title for the gradient color drag handle chooser.\"\n colorGradientHandle=\"Choose color\"\n i18n-clearButton=\"kendo.flatcolorpicker.clearButton|The title for the clear button.\"\n clearButton=\"Clear value\"\n i18n-hueSliderHandle=\"kendo.flatcolorpicker.hueSliderHandle|The title for the hue slider handle.\"\n hueSliderHandle=\"Set hue\"\n i18n-opacitySliderHandle=\"kendo.flatcolorpicker.opacitySliderHandle|The title for the opacity slider handle.\"\n opacitySliderHandle=\"Set opacity\"\n i18n-contrastRatio=\"kendo.flatcolorpicker.contrastRatio|The contrast ratio message for the contrast tool.\"\n contrastRatio=\"Contrast ratio\"\n i18n-previewColor=\"kendo.flatcolorpicker.previewColor|The message for the color preview pane.\"\n previewColor=\"Color preview\"\n i18n-revertSelection=\"kendo.flatcolorpicker.revertSelection|The message for the selected color pane.\"\n revertSelection=\"Revert selection\"\n i18n-gradientView=\"kendo.flatcolorpicker.gradientView|The message for the gradient view button.\"\n gradientView=\"Gradient view\"\n i18n-paletteView=\"kendo.flatcolorpicker.paletteView|The message for the palette view button.\"\n paletteView=\"Palette view\"\n i18n-formatButton=\"kendo.flatcolorpicker.formatButton|The message for the input format toggle button.\"\n formatButton=\"Change color format\"\n i18n-applyButton=\"kendo.flatcolorpicker.applyButton|The message for the Apply action button.\"\n applyButton=\"Apply\"\n i18n-cancelButton=\"kendo.flatcolorpicker.cancelButton|The message for the Cancel action button.\"\n cancelButton=\"Cancel\">\n </ng-container>\n <div kendoFlatColorPickerHeader\n *ngIf=\"headerHasContent\"\n #header\n [clearButton]=\"clearButton\"\n [activeView]=\"activeView\"\n [views]=\"views\"\n [value]=\"value\"\n [selection]=\"selection\"\n [preview]=\"preview\"\n (clearButtonClick)=\"onClearButtonClick()\"\n (viewChange)=\"onViewChange($event)\"\n (valuePaneClick)=\"resetSelection($event)\">\n </div>\n <div class=\"k-coloreditor-views k-vstack\">\n <kendo-colorgradient #gradient\n *ngIf=\"activeView === 'gradient'\"\n [tabindex]=\"null\"\n [value]=\"selection\"\n [format]=\"format\"\n [opacity]=\"gradientSettings.opacity\"\n [delay]=\"gradientSettings.delay\"\n [contrastTool]=\"gradientSettings.contrastTool\"\n [readonly]=\"readonly\"\n (valueChange)=\"handleValueChange($event)\"\n >\n </kendo-colorgradient>\n <kendo-colorpalette #palette\n *ngIf=\"activeView === 'palette'\"\n kendoFocusOnDomReady\n [palette]=\"paletteSettings.palette\"\n [columns]=\"paletteSettings.columns\"\n [tileSize]=\"paletteSettings.tileSize\"\n [format]=\"format\"\n [value]=\"selection\"\n (valueChange)=\"handleValueChange($event)\"\n >\n </kendo-colorpalette>\n </div>\n <div kendoFlatColorPickerActionButtons *ngIf=\"preview\"\n #footer\n [ngClass]=\"'k-justify-content-' + actionsLayout\"\n (actionButtonClick)=\"onAction($event)\">\n </div>\n"
543
546
  }),
544
- tslib_1.__metadata("design:paramtypes", [FlatColorPickerService,
545
- ElementRef,
547
+ tslib_1.__metadata("design:paramtypes", [ElementRef,
548
+ FlatColorPickerService,
546
549
  LocalizationService,
547
550
  ChangeDetectorRef,
548
551
  Renderer2,
@@ -0,0 +1,4 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
@@ -0,0 +1,4 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
@@ -0,0 +1,4 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
@@ -0,0 +1,4 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
@@ -0,0 +1,4 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2021 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
@@ -34,3 +34,40 @@ export var fitIntoBounds = function (contender, min, max) {
34
34
  }
35
35
  return contender <= min ? min : contender >= max ? max : contender;
36
36
  };
37
+ var SIZES = {
38
+ small: 'sm',
39
+ medium: 'md',
40
+ large: 'lg'
41
+ };
42
+ var ROUNDNESS = {
43
+ small: 'sm',
44
+ medium: 'md',
45
+ large: 'lg',
46
+ full: 'full'
47
+ };
48
+ /**
49
+ * @hidden
50
+ *
51
+ * Returns the styling classes to be added and removed
52
+ */
53
+ export var getStylingClasses = function (componentType, stylingOption, previousValue, newValue) {
54
+ switch (stylingOption) {
55
+ case 'size':
56
+ return {
57
+ toRemove: "k-" + componentType + "-" + SIZES[previousValue],
58
+ toAdd: newValue ? "k-" + componentType + "-" + SIZES[newValue] : null
59
+ };
60
+ case 'rounded':
61
+ return {
62
+ toRemove: "k-rounded-" + ROUNDNESS[previousValue],
63
+ toAdd: newValue ? "k-rounded-" + ROUNDNESS[newValue] : null
64
+ };
65
+ case 'fillMode':
66
+ return {
67
+ toRemove: "k-" + componentType + "-" + previousValue,
68
+ toAdd: newValue ? "k-" + componentType + "-" + newValue : null
69
+ };
70
+ default:
71
+ break;
72
+ }
73
+ };
package/dist/es/main.js CHANGED
@@ -6,7 +6,6 @@ export { SliderComponent } from './slider/slider.component';
6
6
  export { RangeSliderComponent } from './rangeslider/rangeslider.component';
7
7
  export { LabelTemplateDirective } from './sliders-common/label-template.directive';
8
8
  export { SwitchComponent } from './switch/switch.component';
9
- export { TextBoxContainerComponent } from './textbox/textbox-container.component';
10
9
  export { TextBoxDirective } from './textbox/textbox.directive';
11
10
  export { TextAreaDirective } from './shared/textarea.directive';
12
11
  export { NumericTextBoxComponent } from './numerictextbox/numerictextbox.component';
@@ -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: 1641996688,
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,10 @@
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 { validatePackage } from '@progress/kendo-licensing';
8
+ import { getStylingClasses } from '../common/utils';
9
+ import { packageMetadata } from '../package-metadata';
7
10
  /**
8
11
  * Represents the directive that renders the [Kendo UI RadioButton]({% slug overview_checkbox %}) input component.
9
12
  * The directive is placed on input type="radio" elements.
@@ -14,17 +17,66 @@ import { Directive, HostBinding } from '@angular/core';
14
17
  * ```
15
18
  */
16
19
  var RadioButtonDirective = /** @class */ (function () {
17
- function RadioButtonDirective() {
20
+ function RadioButtonDirective(renderer, hostElement) {
21
+ this.renderer = renderer;
22
+ this.hostElement = hostElement;
18
23
  this.kendoClass = true;
24
+ this._size = 'medium';
25
+ validatePackage(packageMetadata);
19
26
  }
27
+ Object.defineProperty(RadioButtonDirective.prototype, "size", {
28
+ get: function () {
29
+ return this._size;
30
+ },
31
+ /**
32
+ * The size property specifies the width and height of the RadioButton
33
+ * ([see example]({% slug appearance_radiobuttondirective %}#toc-size)).
34
+ * The possible values are:
35
+ * * `'small'`
36
+ * * `'medium'` (default)
37
+ * * `'large'`
38
+ * * `null`
39
+ */
40
+ set: function (size) {
41
+ this.handleClasses(size, 'size');
42
+ this._size = size;
43
+ },
44
+ enumerable: true,
45
+ configurable: true
46
+ });
47
+ RadioButtonDirective.prototype.ngAfterViewInit = function () {
48
+ var _this = this;
49
+ // kept in sync with other inputs for easier refactoring
50
+ // to a common base class
51
+ var stylingInputs = ['size'];
52
+ stylingInputs.forEach(function (input) {
53
+ _this.handleClasses(_this[input], input);
54
+ });
55
+ };
56
+ RadioButtonDirective.prototype.handleClasses = function (value, input) {
57
+ var elem = this.hostElement.nativeElement;
58
+ var classes = getStylingClasses('radio', input, this[input], value);
59
+ if (classes.toRemove) {
60
+ this.renderer.removeClass(elem, classes.toRemove);
61
+ }
62
+ if (classes.toAdd) {
63
+ this.renderer.addClass(elem, classes.toAdd);
64
+ }
65
+ };
20
66
  tslib_1.__decorate([
21
67
  HostBinding('class.k-radio'),
22
68
  tslib_1.__metadata("design:type", Boolean)
23
69
  ], RadioButtonDirective.prototype, "kendoClass", void 0);
70
+ tslib_1.__decorate([
71
+ Input(),
72
+ tslib_1.__metadata("design:type", String),
73
+ tslib_1.__metadata("design:paramtypes", [String])
74
+ ], RadioButtonDirective.prototype, "size", null);
24
75
  RadioButtonDirective = tslib_1.__decorate([
25
76
  Directive({
26
77
  selector: 'input[kendoRadioButton]'
27
- })
78
+ }),
79
+ tslib_1.__metadata("design:paramtypes", [Renderer2, ElementRef])
28
80
  ], RadioButtonDirective);
29
81
  return RadioButtonDirective;
30
82
  }());
@@ -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)