@progress/kendo-angular-inputs 7.5.1 → 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 (229) 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-contrast-svg.component.js +95 -0
  5. package/dist/es/colorpicker/color-gradient.component.js +109 -81
  6. package/dist/es/colorpicker/color-input.component.js +39 -18
  7. package/dist/es/colorpicker/color-palette.component.js +28 -18
  8. package/dist/es/colorpicker/colorpicker.component.js +279 -80
  9. package/dist/es/colorpicker/constants.js +12 -0
  10. package/dist/es/colorpicker/contrast-validation.component.js +8 -6
  11. package/dist/es/colorpicker/contrast.component.js +6 -8
  12. package/dist/es/colorpicker/{models → events}/active-color-click-event.js +0 -0
  13. package/dist/es/colorpicker/events/cancel-event.js +19 -0
  14. package/dist/es/colorpicker/events/close-event.js +17 -0
  15. package/dist/es/colorpicker/{models → events}/kendo-drag-event.js +0 -0
  16. package/dist/es/colorpicker/events/open-event.js +17 -0
  17. package/dist/es/colorpicker/events.js +8 -0
  18. package/dist/es/colorpicker/flatcolorpicker-actions.component.js +50 -0
  19. package/dist/es/colorpicker/flatcolorpicker-header.component.js +94 -0
  20. package/dist/es/colorpicker/flatcolorpicker.component.js +553 -0
  21. package/dist/es/colorpicker/localization/colorgradient-localization.service.js +7 -7
  22. package/dist/es/colorpicker/localization/colorpalette-localization.service.js +7 -7
  23. package/dist/es/colorpicker/localization/custom-messages.component.js +1 -1
  24. package/dist/es/colorpicker/localization/flatcolorpicker-localization.service.js +34 -0
  25. package/dist/es/colorpicker/localization/localized-colorpicker-messages.directive.js +1 -1
  26. package/dist/es/colorpicker/localization/messages.js +36 -0
  27. package/dist/es/colorpicker/models/{color-picker-view.js → actions-layout.js} +0 -0
  28. package/dist/{es2015/colorpicker/models/color-picker-view.js → es/colorpicker/models/colorpicker-view.js} +0 -0
  29. package/dist/es/colorpicker/{utils → models}/palette-presets.js +0 -0
  30. package/dist/es/colorpicker/models.js +1 -2
  31. package/dist/es/colorpicker/services/flatcolorpicker.service.js +41 -0
  32. package/dist/es/colorpicker/utils/color-parser.js +18 -5
  33. package/dist/es/colorpicker/utils/contrast-curve.js +91 -0
  34. package/dist/es/colorpicker/utils.js +1 -1
  35. package/dist/es/colorpicker.module.js +9 -1
  36. package/dist/es/common/models/fillmode.js +4 -0
  37. package/dist/es/common/models/rounded.js +4 -0
  38. package/dist/es/common/models/size.js +4 -0
  39. package/dist/es/common/models/styling-classes.js +4 -0
  40. package/dist/{es2015/colorpicker/models/kendo-drag-event.js → es/common/models.js} +0 -0
  41. package/dist/es/common/utils.js +37 -0
  42. package/dist/es/index.js +5 -0
  43. package/dist/es/main.js +4 -2
  44. package/dist/es/maskedtextbox/maskedtextbox.component.js +101 -6
  45. package/dist/es/numerictextbox/numerictextbox.component.js +116 -20
  46. package/dist/es/package-metadata.js +1 -1
  47. package/dist/es/radiobutton/radiobutton.directive.js +52 -3
  48. package/dist/es/shared/textarea.directive.js +3 -2
  49. package/dist/es/shared/utils.js +23 -0
  50. package/dist/es/switch/switch.component.js +167 -21
  51. package/dist/es/text-fields-common/text-fields-base.js +1 -1
  52. package/dist/es/textarea/textarea.component.js +101 -5
  53. package/dist/es/textbox/textbox.component.js +111 -12
  54. package/dist/es/textbox/textbox.directive.js +3 -2
  55. package/dist/es/textbox.module.js +0 -3
  56. package/dist/es2015/checkbox/checkbox.directive.d.ts +31 -0
  57. package/dist/es2015/checkbox/checkbox.directive.js +68 -10
  58. package/dist/es2015/colorpicker/color-contrast-svg.component.d.ts +26 -0
  59. package/dist/es2015/colorpicker/color-contrast-svg.component.js +97 -0
  60. package/dist/es2015/colorpicker/color-gradient.component.d.ts +32 -43
  61. package/dist/es2015/colorpicker/color-gradient.component.js +126 -93
  62. package/dist/es2015/colorpicker/color-input.component.d.ts +11 -4
  63. package/dist/es2015/colorpicker/color-input.component.js +52 -32
  64. package/dist/es2015/colorpicker/color-palette.component.d.ts +8 -3
  65. package/dist/es2015/colorpicker/color-palette.component.js +28 -18
  66. package/dist/es2015/colorpicker/colorpicker.component.d.ts +127 -25
  67. package/dist/es2015/colorpicker/colorpicker.component.js +305 -125
  68. package/dist/es2015/colorpicker/constants.d.ts +12 -0
  69. package/dist/es2015/colorpicker/constants.js +12 -0
  70. package/dist/es2015/colorpicker/contrast-validation.component.d.ts +1 -1
  71. package/dist/es2015/colorpicker/contrast-validation.component.js +16 -12
  72. package/dist/es2015/colorpicker/contrast.component.d.ts +1 -3
  73. package/dist/es2015/colorpicker/contrast.component.js +17 -17
  74. package/dist/es2015/colorpicker/{models → events}/active-color-click-event.d.ts +0 -0
  75. package/dist/es2015/colorpicker/{models → events}/active-color-click-event.js +0 -0
  76. package/dist/es2015/colorpicker/events/cancel-event.d.ts +15 -0
  77. package/dist/es2015/colorpicker/events/cancel-event.js +14 -0
  78. package/dist/es2015/colorpicker/events/close-event.d.ts +10 -0
  79. package/dist/es2015/colorpicker/events/close-event.js +10 -0
  80. package/dist/es2015/colorpicker/{models → events}/kendo-drag-event.d.ts +0 -0
  81. package/dist/es2015/colorpicker/events/kendo-drag-event.js +4 -0
  82. package/dist/es2015/colorpicker/events/open-event.d.ts +10 -0
  83. package/dist/es2015/colorpicker/events/open-event.js +10 -0
  84. package/dist/es2015/colorpicker/events.d.ts +8 -0
  85. package/dist/es2015/colorpicker/events.js +8 -0
  86. package/dist/es2015/colorpicker/flatcolorpicker-actions.component.d.ts +18 -0
  87. package/dist/es2015/colorpicker/flatcolorpicker-actions.component.js +60 -0
  88. package/dist/es2015/colorpicker/flatcolorpicker-header.component.d.ts +30 -0
  89. package/dist/es2015/colorpicker/flatcolorpicker-header.component.js +131 -0
  90. package/dist/es2015/colorpicker/flatcolorpicker.component.d.ts +214 -0
  91. package/dist/es2015/colorpicker/flatcolorpicker.component.js +593 -0
  92. package/dist/es2015/colorpicker/localization/colorgradient-localization.service.d.ts +3 -3
  93. package/dist/es2015/colorpicker/localization/colorgradient-localization.service.js +7 -7
  94. package/dist/es2015/colorpicker/localization/colorpalette-localization.service.d.ts +3 -3
  95. package/dist/es2015/colorpicker/localization/colorpalette-localization.service.js +7 -7
  96. package/dist/es2015/colorpicker/localization/custom-messages.component.js +1 -1
  97. package/dist/es2015/colorpicker/localization/flatcolorpicker-localization.service.d.ts +14 -0
  98. package/dist/es2015/colorpicker/localization/flatcolorpicker-localization.service.js +31 -0
  99. package/dist/es2015/colorpicker/localization/localized-colorpicker-messages.directive.js +1 -1
  100. package/dist/es2015/colorpicker/localization/messages.d.ts +36 -0
  101. package/dist/es2015/colorpicker/localization/messages.js +36 -0
  102. package/dist/es2015/colorpicker/models/actions-layout.d.ts +8 -0
  103. package/dist/es2015/colorpicker/models/actions-layout.js +4 -0
  104. package/dist/es2015/colorpicker/models/colorpicker-view.d.ts +8 -0
  105. package/dist/es2015/colorpicker/models/colorpicker-view.js +4 -0
  106. package/dist/es2015/colorpicker/models/gradient-settings.d.ts +4 -3
  107. package/dist/es2015/colorpicker/models/output-format.d.ts +0 -5
  108. package/dist/es2015/colorpicker/{utils → models}/palette-presets.d.ts +0 -0
  109. package/dist/es2015/colorpicker/{utils → models}/palette-presets.js +0 -0
  110. package/dist/es2015/colorpicker/models/palette-settings.d.ts +2 -3
  111. package/dist/es2015/colorpicker/models/tile-size.d.ts +1 -5
  112. package/dist/es2015/colorpicker/models.d.ts +10 -10
  113. package/dist/es2015/colorpicker/models.js +1 -2
  114. package/dist/es2015/colorpicker/services/flatcolorpicker.service.d.ts +12 -0
  115. package/dist/es2015/colorpicker/services/flatcolorpicker.service.js +38 -0
  116. package/dist/es2015/colorpicker/utils/color-parser.d.ts +8 -2
  117. package/dist/es2015/colorpicker/utils/color-parser.js +15 -5
  118. package/dist/es2015/colorpicker/utils/contrast-curve.d.ts +37 -0
  119. package/dist/es2015/colorpicker/utils/contrast-curve.js +85 -0
  120. package/dist/es2015/colorpicker/utils.d.ts +1 -1
  121. package/dist/es2015/colorpicker/utils.js +1 -1
  122. package/dist/es2015/colorpicker.module.js +9 -1
  123. package/dist/es2015/{colorpicker/models/color-picker-view.d.ts → common/models/fillmode.d.ts} +5 -5
  124. package/dist/es2015/common/models/fillmode.js +4 -0
  125. package/dist/es2015/common/models/rounded.d.ts +23 -0
  126. package/dist/es2015/common/models/rounded.js +4 -0
  127. package/dist/es2015/common/models/size.d.ts +14 -0
  128. package/dist/es2015/common/models/size.js +4 -0
  129. package/dist/es2015/common/models/styling-classes.d.ts +11 -0
  130. package/dist/es2015/common/models/styling-classes.js +4 -0
  131. package/dist/es2015/common/models.d.ts +8 -0
  132. package/dist/es2015/common/models.js +4 -0
  133. package/dist/es2015/common/utils.d.ts +7 -0
  134. package/dist/es2015/common/utils.js +37 -0
  135. package/dist/es2015/index.d.ts +5 -0
  136. package/dist/es2015/index.js +5 -0
  137. package/dist/es2015/index.metadata.json +1 -1
  138. package/dist/es2015/main.d.ts +5 -2
  139. package/dist/es2015/main.js +4 -2
  140. package/dist/es2015/maskedtextbox/maskedtextbox.component.d.ts +39 -1
  141. package/dist/es2015/maskedtextbox/maskedtextbox.component.js +88 -6
  142. package/dist/es2015/numerictextbox/numerictextbox.component.d.ts +39 -2
  143. package/dist/es2015/numerictextbox/numerictextbox.component.js +124 -40
  144. package/dist/es2015/package-metadata.js +1 -1
  145. package/dist/es2015/radiobutton/radiobutton.directive.d.ts +18 -0
  146. package/dist/es2015/radiobutton/radiobutton.directive.js +46 -11
  147. package/dist/es2015/shared/textarea.directive.d.ts +1 -1
  148. package/dist/es2015/shared/textarea.directive.js +3 -2
  149. package/dist/es2015/shared/utils.d.ts +16 -0
  150. package/dist/es2015/shared/utils.js +23 -0
  151. package/dist/es2015/switch/switch.component.d.ts +48 -5
  152. package/dist/es2015/switch/switch.component.js +166 -24
  153. package/dist/es2015/text-fields-common/text-fields-base.js +1 -1
  154. package/dist/es2015/textarea/textarea.component.d.ts +39 -1
  155. package/dist/es2015/textarea/textarea.component.js +89 -5
  156. package/dist/es2015/textbox/textbox.component.d.ts +40 -1
  157. package/dist/es2015/textbox/textbox.component.js +99 -12
  158. package/dist/es2015/textbox/textbox.directive.d.ts +1 -1
  159. package/dist/es2015/textbox/textbox.directive.js +3 -2
  160. package/dist/es2015/textbox.module.js +0 -3
  161. package/dist/fesm2015/index.js +3118 -1477
  162. package/dist/fesm5/index.js +3040 -1387
  163. package/dist/npm/checkbox/checkbox.directive.js +78 -2
  164. package/dist/npm/colorpicker/color-contrast-svg.component.js +97 -0
  165. package/dist/npm/colorpicker/color-gradient.component.js +109 -81
  166. package/dist/npm/colorpicker/color-input.component.js +38 -17
  167. package/dist/npm/colorpicker/color-palette.component.js +29 -19
  168. package/dist/npm/colorpicker/colorpicker.component.js +285 -86
  169. package/dist/npm/colorpicker/constants.js +12 -0
  170. package/dist/npm/colorpicker/contrast-validation.component.js +8 -6
  171. package/dist/npm/colorpicker/contrast.component.js +6 -8
  172. package/dist/npm/colorpicker/{models → events}/active-color-click-event.js +0 -0
  173. package/dist/npm/colorpicker/events/cancel-event.js +21 -0
  174. package/dist/npm/colorpicker/events/close-event.js +19 -0
  175. package/dist/npm/colorpicker/{models → events}/kendo-drag-event.js +0 -0
  176. package/dist/npm/colorpicker/events/open-event.js +19 -0
  177. package/dist/npm/colorpicker/events.js +11 -0
  178. package/dist/npm/colorpicker/flatcolorpicker-actions.component.js +52 -0
  179. package/dist/npm/colorpicker/flatcolorpicker-header.component.js +96 -0
  180. package/dist/npm/colorpicker/flatcolorpicker.component.js +555 -0
  181. package/dist/npm/colorpicker/localization/colorgradient-localization.service.js +7 -7
  182. package/dist/npm/colorpicker/localization/colorpalette-localization.service.js +7 -7
  183. package/dist/npm/colorpicker/localization/custom-messages.component.js +1 -1
  184. package/dist/npm/colorpicker/localization/flatcolorpicker-localization.service.js +36 -0
  185. package/dist/npm/colorpicker/localization/localized-colorpicker-messages.directive.js +1 -1
  186. package/dist/npm/colorpicker/localization/messages.js +36 -0
  187. package/dist/npm/colorpicker/models/{color-picker-view.js → actions-layout.js} +0 -0
  188. package/dist/npm/colorpicker/models/colorpicker-view.js +6 -0
  189. package/dist/npm/colorpicker/{utils → models}/palette-presets.js +0 -0
  190. package/dist/npm/colorpicker/models.js +1 -2
  191. package/dist/npm/colorpicker/services/flatcolorpicker.service.js +43 -0
  192. package/dist/npm/colorpicker/utils/color-parser.js +18 -5
  193. package/dist/npm/colorpicker/utils/contrast-curve.js +93 -0
  194. package/dist/npm/colorpicker/utils.js +1 -1
  195. package/dist/npm/colorpicker.module.js +9 -1
  196. package/dist/npm/common/models/fillmode.js +6 -0
  197. package/dist/npm/common/models/rounded.js +6 -0
  198. package/dist/npm/common/models/size.js +6 -0
  199. package/dist/npm/common/models/styling-classes.js +6 -0
  200. package/dist/npm/common/models.js +6 -0
  201. package/dist/npm/common/utils.js +37 -0
  202. package/dist/npm/index.js +10 -0
  203. package/dist/npm/main.js +7 -4
  204. package/dist/npm/maskedtextbox/maskedtextbox.component.js +100 -5
  205. package/dist/npm/numerictextbox/numerictextbox.component.js +115 -19
  206. package/dist/npm/package-metadata.js +1 -1
  207. package/dist/npm/radiobutton/radiobutton.directive.js +51 -2
  208. package/dist/npm/shared/textarea.directive.js +3 -2
  209. package/dist/npm/shared/utils.js +25 -0
  210. package/dist/npm/switch/switch.component.js +166 -20
  211. package/dist/npm/text-fields-common/text-fields-base.js +1 -1
  212. package/dist/npm/textarea/textarea.component.js +100 -4
  213. package/dist/npm/textbox/textbox.component.js +113 -14
  214. package/dist/npm/textbox/textbox.directive.js +3 -2
  215. package/dist/npm/textbox.module.js +0 -3
  216. package/dist/systemjs/kendo-angular-inputs.js +1 -1
  217. package/package.json +15 -12
  218. package/dist/es/colorpicker/models/preventable-event.js +0 -29
  219. package/dist/es/textbox/floating-label-input-adapter.js +0 -58
  220. package/dist/es/textbox/textbox-container.component.js +0 -224
  221. package/dist/es2015/colorpicker/models/preventable-event.d.ts +0 -21
  222. package/dist/es2015/colorpicker/models/preventable-event.js +0 -27
  223. package/dist/es2015/textbox/floating-label-input-adapter.d.ts +0 -20
  224. package/dist/es2015/textbox/floating-label-input-adapter.js +0 -52
  225. package/dist/es2015/textbox/textbox-container.component.d.ts +0 -59
  226. package/dist/es2015/textbox/textbox-container.component.js +0 -209
  227. package/dist/npm/colorpicker/models/preventable-event.js +0 -31
  228. package/dist/npm/textbox/floating-label-input-adapter.js +0 -60
  229. package/dist/npm/textbox/textbox-container.component.js +0 -226
@@ -9,10 +9,11 @@ import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
9
9
  import { hasObservers, guid, Keys, KendoInput } from '@progress/kendo-angular-common';
10
10
  import { validatePackage } from '@progress/kendo-licensing';
11
11
  import { packageMetadata } from '../package-metadata';
12
- import { requiresZoneOnBlur } from '../common/utils';
12
+ import { requiresZoneOnBlur, getStylingClasses } from '../common/utils';
13
+ import { Subscription } from "rxjs";
13
14
  import { skip, take } from "rxjs/operators";
14
15
  import { browser } from '@progress/kendo-common';
15
- var FOCUSED = 'k-state-focused';
16
+ var FOCUSED = 'k-focus';
16
17
  /**
17
18
  * Represents the [Kendo UI Switch component for Angular]({% slug overview_switch %}).
18
19
  */
@@ -58,13 +59,20 @@ var SwitchComponent = /** @class */ (function () {
58
59
  * @hidden
59
60
  */
60
61
  this.initialized = false;
62
+ this.hostClickSubscription = new Subscription;
61
63
  this._checked = false;
64
+ this._size = 'medium';
65
+ this._trackRounded = 'full';
66
+ this._thumbRounded = 'full';
62
67
  this.ngChange = function (_) { };
63
68
  this.ngTouched = function () { };
64
69
  /**
65
70
  * @hidden
66
71
  */
67
72
  this.handleFocus = function () {
73
+ if (_this.isFocused) {
74
+ return;
75
+ }
68
76
  _this.focused = true;
69
77
  if (hasObservers(_this.onFocus)) {
70
78
  _this.ngZone.run(function () {
@@ -75,7 +83,11 @@ var SwitchComponent = /** @class */ (function () {
75
83
  /**
76
84
  * @hidden
77
85
  */
78
- this.handleBlur = function () {
86
+ this.handleBlur = function (event) {
87
+ var relatedTarget = event && event.relatedTarget;
88
+ if (_this.hostElement.nativeElement.contains(relatedTarget)) {
89
+ return;
90
+ }
79
91
  _this.changeDetector.markForCheck();
80
92
  _this.focused = false;
81
93
  if (hasObservers(_this.onBlur) || requiresZoneOnBlur(_this.control)) {
@@ -105,6 +117,68 @@ var SwitchComponent = /** @class */ (function () {
105
117
  enumerable: true,
106
118
  configurable: true
107
119
  });
120
+ Object.defineProperty(SwitchComponent.prototype, "size", {
121
+ get: function () {
122
+ return this._size;
123
+ },
124
+ /**
125
+ * Specifies the size of the Switch.
126
+ *
127
+ * The possible values are:
128
+ * * `'small'`
129
+ * * `'medium'` (default)
130
+ * * `'large'`
131
+ * * `null`
132
+ */
133
+ set: function (size) {
134
+ this.handleClasses(size, 'size');
135
+ this._size = size;
136
+ },
137
+ enumerable: true,
138
+ configurable: true
139
+ });
140
+ Object.defineProperty(SwitchComponent.prototype, "thumbRounded", {
141
+ get: function () {
142
+ return this._thumbRounded;
143
+ },
144
+ /**
145
+ * Specifies the border radius of the Switch thumb.
146
+ *
147
+ * The possible values are:
148
+ * * `'full'` (default)
149
+ * * `'small'`
150
+ * * `'medium'`
151
+ * * `'large'`
152
+ * * `null`
153
+ */
154
+ set: function (thumbRounded) {
155
+ this.handleThumbClasses(thumbRounded);
156
+ this._thumbRounded = thumbRounded;
157
+ },
158
+ enumerable: true,
159
+ configurable: true
160
+ });
161
+ Object.defineProperty(SwitchComponent.prototype, "trackRounded", {
162
+ get: function () {
163
+ return this._trackRounded;
164
+ },
165
+ /**
166
+ * Specifies the border radius of the Switch track.
167
+ *
168
+ * The possible values are:
169
+ * * `'full'` (default)
170
+ * * `'small'`
171
+ * * `'medium'`
172
+ * * `'large'`
173
+ * * `null`
174
+ */
175
+ set: function (trackRounded) {
176
+ this.handleTrackClasses(trackRounded);
177
+ this._trackRounded = trackRounded;
178
+ },
179
+ enumerable: true,
180
+ configurable: true
181
+ });
108
182
  Object.defineProperty(SwitchComponent.prototype, "tabIndex", {
109
183
  get: function () {
110
184
  return this.tabindex;
@@ -189,10 +263,23 @@ var SwitchComponent = /** @class */ (function () {
189
263
  this.control = this.injector.get(NgControl, null);
190
264
  this.ngZone.onStable.pipe(take(1)).subscribe(function () { return _this.initialized = true; });
191
265
  };
266
+ SwitchComponent.prototype.ngAfterViewInit = function () {
267
+ var wrapper = this.hostElement.nativeElement;
268
+ this.attachHostClickHandler();
269
+ if (!this.checked && !wrapper.classList.contains('k-switch-off')) {
270
+ this.renderer.addClass(wrapper, 'k-switch-off');
271
+ }
272
+ this.handleClasses(this.size, 'size');
273
+ this.handleTrackClasses(this.trackRounded);
274
+ this.handleThumbClasses(this.thumbRounded);
275
+ };
192
276
  SwitchComponent.prototype.ngOnDestroy = function () {
193
277
  if (this.localizationChangeSubscription) {
194
278
  this.localizationChangeSubscription.unsubscribe();
195
279
  }
280
+ if (this.hostClickSubscription) {
281
+ this.hostClickSubscription.unsubscribe();
282
+ }
196
283
  };
197
284
  /**
198
285
  * Focuses the Switch.
@@ -210,19 +297,19 @@ var SwitchComponent = /** @class */ (function () {
210
297
  * ```
211
298
  */
212
299
  SwitchComponent.prototype.focus = function () {
213
- if (!this.wrapper) {
300
+ if (!this.track) {
214
301
  return;
215
302
  }
216
- this.wrapper.nativeElement.focus();
303
+ this.track.nativeElement.focus();
217
304
  };
218
305
  /**
219
306
  * Blurs the Switch.
220
307
  */
221
308
  SwitchComponent.prototype.blur = function () {
222
- if (!this.wrapper) {
309
+ if (!this.track) {
223
310
  return;
224
311
  }
225
- this.wrapper.nativeElement.blur();
312
+ this.track.nativeElement.blur();
226
313
  };
227
314
  /**
228
315
  * @hidden
@@ -272,7 +359,7 @@ var SwitchComponent = /** @class */ (function () {
272
359
  };
273
360
  /**
274
361
  * @hidden
275
- * Used by the TextBoxContainer to determine if the component is empty.
362
+ * Used by the FloatingLabel to determine if the component is empty.
276
363
  */
277
364
  SwitchComponent.prototype.isEmpty = function () {
278
365
  return false;
@@ -291,12 +378,12 @@ var SwitchComponent = /** @class */ (function () {
291
378
  Object.defineProperty(SwitchComponent.prototype, "focused", {
292
379
  set: function (value) {
293
380
  if (this.isFocused !== value && this.hostElement) {
294
- var element = this.hostElement.nativeElement;
381
+ var wrapper = this.hostElement.nativeElement;
295
382
  if (value) {
296
- this.renderer.addClass(element, FOCUSED);
383
+ this.renderer.addClass(wrapper, FOCUSED);
297
384
  }
298
385
  else {
299
- this.renderer.removeClass(element, FOCUSED);
386
+ this.renderer.removeClass(wrapper, FOCUSED);
300
387
  }
301
388
  this.isFocused = value;
302
389
  }
@@ -304,14 +391,54 @@ var SwitchComponent = /** @class */ (function () {
304
391
  enumerable: true,
305
392
  configurable: true
306
393
  });
394
+ SwitchComponent.prototype.attachHostClickHandler = function () {
395
+ var _this = this;
396
+ this.ngZone.runOutsideAngular(function () {
397
+ _this.hostClickSubscription.add(_this.renderer.listen(_this.hostElement.nativeElement, 'click', _this.clickHandler));
398
+ });
399
+ };
307
400
  SwitchComponent.prototype.setHostClasses = function (value) {
401
+ var wrapper = this.hostElement.nativeElement;
308
402
  if (value) {
309
- this.renderer.removeClass(this.hostElement.nativeElement, 'k-switch-off');
310
- this.renderer.addClass(this.hostElement.nativeElement, 'k-switch-on');
403
+ this.renderer.removeClass(wrapper, 'k-switch-off');
404
+ this.renderer.addClass(wrapper, 'k-switch-on');
311
405
  }
312
406
  else {
313
- this.renderer.removeClass(this.hostElement.nativeElement, 'k-switch-on');
314
- this.renderer.addClass(this.hostElement.nativeElement, 'k-switch-off');
407
+ this.renderer.removeClass(wrapper, 'k-switch-on');
408
+ this.renderer.addClass(wrapper, 'k-switch-off');
409
+ }
410
+ };
411
+ SwitchComponent.prototype.handleClasses = function (value, input) {
412
+ var elem = this.hostElement.nativeElement;
413
+ var classes = getStylingClasses('switch', input, this[input], value);
414
+ if (classes.toRemove) {
415
+ this.renderer.removeClass(elem, classes.toRemove);
416
+ }
417
+ if (classes.toAdd) {
418
+ this.renderer.addClass(elem, classes.toAdd);
419
+ }
420
+ };
421
+ SwitchComponent.prototype.handleTrackClasses = function (value) {
422
+ var elem = this.hostElement.nativeElement;
423
+ var track = this.track.nativeElement;
424
+ var classes = getStylingClasses('switch', 'rounded', this.trackRounded, value);
425
+ if (classes.toRemove) {
426
+ this.renderer.removeClass(elem, classes.toRemove);
427
+ this.renderer.removeClass(track, classes.toRemove);
428
+ }
429
+ if (classes.toAdd) {
430
+ this.renderer.addClass(elem, classes.toAdd);
431
+ this.renderer.addClass(track, classes.toAdd);
432
+ }
433
+ };
434
+ SwitchComponent.prototype.handleThumbClasses = function (value) {
435
+ var thumb = this.thumb.nativeElement;
436
+ var classes = getStylingClasses('switch', 'rounded', this.thumbRounded, value);
437
+ if (classes.toRemove) {
438
+ this.renderer.removeClass(thumb, classes.toRemove);
439
+ }
440
+ if (classes.toAdd) {
441
+ this.renderer.addClass(thumb, classes.toAdd);
315
442
  }
316
443
  };
317
444
  var SwitchComponent_1;
@@ -344,6 +471,21 @@ var SwitchComponent = /** @class */ (function () {
344
471
  Input(),
345
472
  tslib_1.__metadata("design:type", Number)
346
473
  ], SwitchComponent.prototype, "tabindex", void 0);
474
+ tslib_1.__decorate([
475
+ Input(),
476
+ tslib_1.__metadata("design:type", String),
477
+ tslib_1.__metadata("design:paramtypes", [String])
478
+ ], SwitchComponent.prototype, "size", null);
479
+ tslib_1.__decorate([
480
+ Input(),
481
+ tslib_1.__metadata("design:type", String),
482
+ tslib_1.__metadata("design:paramtypes", [String])
483
+ ], SwitchComponent.prototype, "thumbRounded", null);
484
+ tslib_1.__decorate([
485
+ Input(),
486
+ tslib_1.__metadata("design:type", String),
487
+ tslib_1.__metadata("design:paramtypes", [String])
488
+ ], SwitchComponent.prototype, "trackRounded", null);
347
489
  tslib_1.__decorate([
348
490
  Input(),
349
491
  tslib_1.__metadata("design:type", Number),
@@ -361,10 +503,6 @@ var SwitchComponent = /** @class */ (function () {
361
503
  Output(),
362
504
  tslib_1.__metadata("design:type", EventEmitter)
363
505
  ], SwitchComponent.prototype, "valueChange", void 0);
364
- tslib_1.__decorate([
365
- ViewChild('wrapper', { static: true }),
366
- tslib_1.__metadata("design:type", Object)
367
- ], SwitchComponent.prototype, "wrapper", void 0);
368
506
  tslib_1.__decorate([
369
507
  HostBinding('attr.dir'),
370
508
  tslib_1.__metadata("design:type", String)
@@ -389,10 +527,18 @@ var SwitchComponent = /** @class */ (function () {
389
527
  tslib_1.__metadata("design:type", Boolean)
390
528
  ], SwitchComponent.prototype, "hostClasses", void 0);
391
529
  tslib_1.__decorate([
392
- HostBinding('class.k-state-disabled'),
530
+ HostBinding('class.k-disabled'),
393
531
  tslib_1.__metadata("design:type", Boolean),
394
532
  tslib_1.__metadata("design:paramtypes", [])
395
533
  ], SwitchComponent.prototype, "disabledClass", null);
534
+ tslib_1.__decorate([
535
+ ViewChild('track', { static: true }),
536
+ tslib_1.__metadata("design:type", Object)
537
+ ], SwitchComponent.prototype, "track", void 0);
538
+ tslib_1.__decorate([
539
+ ViewChild('thumb', { static: true }),
540
+ tslib_1.__metadata("design:type", Object)
541
+ ], SwitchComponent.prototype, "thumb", void 0);
396
542
  SwitchComponent = SwitchComponent_1 = tslib_1.__decorate([
397
543
  Component({
398
544
  exportAs: 'kendoSwitch',
@@ -410,7 +556,7 @@ var SwitchComponent = /** @class */ (function () {
410
556
  }
411
557
  ],
412
558
  selector: 'kendo-switch',
413
- template: "\n <ng-container kendoSwitchLocalizedMessages\n i18n-on=\"kendo.switch.on|The **On** label of the Switch.\"\n on=\"ON\"\n i18n-off=\"kendo.switch.off|The **Off** label of the Switch.\"\n off=\"OFF\"\n >\n\n <span\n #wrapper\n class=\"k-switch-container\"\n [id]=\"focusableId\"\n role=\"switch\"\n [style.transitionDuration]=\"initialized ? '200ms' : '0ms'\"\n [attr.aria-checked]=\"checked\"\n [attr.tabindex]=\"(disabled ? undefined : tabIndex)\"\n [kendoEventsOutsideAngular]=\"{ click: clickHandler, keydown: keyDownHandler, focus: handleFocus, blur: handleBlur }\"\n >\n <span class=\"k-switch-label-on\" [attr.aria-hidden]=\"true\" >{{onLabelMessage}}</span>\n <span class=\"k-switch-label-off\" [attr.aria-hidden]=\"true\">{{offLabelMessage}}</span>\n <span class=\"k-switch-handle\" [style.transitionDuration]=\"initialized ? '200ms' : '0ms'\"></span>\n </span>\n "
559
+ template: "\n <ng-container kendoSwitchLocalizedMessages\n i18n-on=\"kendo.switch.on|The **On** label of the Switch.\"\n on=\"ON\"\n i18n-off=\"kendo.switch.off|The **Off** label of the Switch.\"\n off=\"OFF\"\n >\n\n <span\n #track\n class=\"k-switch-track\"\n [id]=\"focusableId\"\n role=\"switch\"\n [style.transitionDuration]=\"initialized ? '200ms' : '0ms'\"\n [attr.aria-checked]=\"checked\"\n [attr.tabindex]=\"(disabled ? undefined : tabIndex)\"\n [kendoEventsOutsideAngular]=\"{ keydown: keyDownHandler, focus: handleFocus, blur: handleBlur }\"\n >\n <span class=\"k-switch-label-on\" [attr.aria-hidden]=\"true\" >{{onLabelMessage}}</span>\n <span class=\"k-switch-label-off\" [attr.aria-hidden]=\"true\">{{offLabelMessage}}</span>\n </span>\n <span\n class=\"k-switch-thumb-wrap\"\n tabindex=\"-1\"\n [style.transitionDuration]=\"initialized ? '200ms' : '0ms'\" [kendoEventsOutsideAngular]=\"{\n keydown: keyDownHandler,\n focus: handleFocus,\n blur: handleBlur\n }\">\n <span #thumb class=\"k-switch-thumb\"></span>\n </span>\n "
414
560
  }),
415
561
  tslib_1.__metadata("design:paramtypes", [Renderer2,
416
562
  ElementRef,
@@ -131,7 +131,7 @@ var TextFieldsBase = /** @class */ (function () {
131
131
  tslib_1.__metadata("design:type", ElementRef)
132
132
  ], TextFieldsBase.prototype, "input", void 0);
133
133
  tslib_1.__decorate([
134
- HostBinding('class.k-state-disabled'),
134
+ HostBinding('class.k-disabled'),
135
135
  tslib_1.__metadata("design:type", Boolean),
136
136
  tslib_1.__metadata("design:paramtypes", [])
137
137
  ], TextFieldsBase.prototype, "disabledClass", null);
@@ -10,7 +10,7 @@ import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
10
10
  import { KendoInput, guid, isDocumentAvailable, hasObservers, Keys } from '@progress/kendo-angular-common';
11
11
  import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
12
12
  import { TextFieldsBase } from '../text-fields-common/text-fields-base';
13
- import { areSame, isPresent } from '../common/utils';
13
+ import { areSame, isPresent, getStylingClasses } from '../common/utils';
14
14
  import { invokeElementMethod } from '../common/dom-utils';
15
15
  import { closest } from './../common/dom-utils';
16
16
  import { validatePackage } from '@progress/kendo-licensing';
@@ -22,7 +22,7 @@ var resizeClasses = {
22
22
  'none': 'k-resize-none',
23
23
  'auto': 'k-resize-none'
24
24
  };
25
- var FOCUSED = 'k-state-focus';
25
+ var FOCUSED = 'k-focus';
26
26
  /**
27
27
  * Represents the [Kendo UI TextArea component for Angular]({% slug overview_textarea %}).
28
28
  */
@@ -40,7 +40,7 @@ var TextAreaComponent = /** @class */ (function (_super) {
40
40
  * @hidden
41
41
  */
42
42
  _this.focusableId = "k-" + guid();
43
- _this.hostClass = true;
43
+ _this.hostClasses = true;
44
44
  /**
45
45
  * Specifies the flow direction of the TextArea sections. This property is useful when adornments are used, in order to specify
46
46
  * their position in relation to the textarea element.
@@ -114,6 +114,9 @@ var TextAreaComponent = /** @class */ (function (_super) {
114
114
  * When the component value is changed programmatically or via its form control binding, the valueChange event is not emitted.
115
115
  */
116
116
  _this.valueChange = new EventEmitter();
117
+ _this._size = 'medium';
118
+ _this._rounded = 'medium';
119
+ _this._fillMode = 'solid';
117
120
  /**
118
121
  * @hidden
119
122
  */
@@ -183,6 +186,69 @@ var TextAreaComponent = /** @class */ (function (_super) {
183
186
  enumerable: true,
184
187
  configurable: true
185
188
  });
189
+ Object.defineProperty(TextAreaComponent.prototype, "size", {
190
+ get: function () {
191
+ return this._size;
192
+ },
193
+ /**
194
+ * The size property specifies the font size and line height of the TextArea
195
+ * ([see example]({% slug appearance_textarea %}#toc-size)).
196
+ *
197
+ * The possible values are:
198
+ * * `'small'`
199
+ * * `'medium'` (default)
200
+ * * `'large'`
201
+ * * `null`
202
+ */
203
+ set: function (size) {
204
+ this.handleClasses(size, 'size');
205
+ this._size = size;
206
+ },
207
+ enumerable: true,
208
+ configurable: true
209
+ });
210
+ Object.defineProperty(TextAreaComponent.prototype, "rounded", {
211
+ get: function () {
212
+ return this._rounded;
213
+ },
214
+ /**
215
+ * The rounded property specifies the border radius of the TextArea
216
+ * ([see example]({% slug appearance_textarea %}#toc-rounded)).
217
+ *
218
+ * The possible values are:
219
+ * * `'small'`
220
+ * * `'medium'` (default)
221
+ * * `'large'`
222
+ * * `null`
223
+ */
224
+ set: function (rounded) {
225
+ this.handleClasses(rounded, 'rounded');
226
+ this._rounded = rounded;
227
+ },
228
+ enumerable: true,
229
+ configurable: true
230
+ });
231
+ Object.defineProperty(TextAreaComponent.prototype, "fillMode", {
232
+ get: function () {
233
+ return this._fillMode;
234
+ },
235
+ /**
236
+ * The fillMode property specifies the background and border styles of the TextArea
237
+ * ([see example]({% slug appearance_textarea %}#toc-fillMode)).
238
+ *
239
+ * The possible values are:
240
+ * * `'flat'`
241
+ * * `'solid'` (default)
242
+ * * `'outline'`
243
+ * * `null`
244
+ */
245
+ set: function (fillMode) {
246
+ this.handleClasses(fillMode, 'fillMode');
247
+ this._fillMode = fillMode;
248
+ },
249
+ enumerable: true,
250
+ configurable: true
251
+ });
186
252
  TextAreaComponent.prototype.ngAfterViewInit = function () {
187
253
  var _this = this;
188
254
  var hostElement = this.hostElement.nativeElement;
@@ -230,6 +296,10 @@ var TextAreaComponent = /** @class */ (function (_super) {
230
296
  }
231
297
  }));
232
298
  });
299
+ var stylingInputs = ['size', 'rounded', 'fillMode'];
300
+ stylingInputs.forEach(function (input) {
301
+ _this.handleClasses(_this[input], input);
302
+ });
233
303
  };
234
304
  TextAreaComponent.prototype.ngOnInit = function () {
235
305
  var _this = this;
@@ -403,6 +473,16 @@ var TextAreaComponent = /** @class */ (function (_super) {
403
473
  this.setSelection(0, this.value.length);
404
474
  }
405
475
  };
476
+ TextAreaComponent.prototype.handleClasses = function (value, input) {
477
+ var elem = this.hostElement.nativeElement;
478
+ var classes = getStylingClasses('input', input, this[input], value);
479
+ if (classes.toRemove) {
480
+ this.renderer.removeClass(elem, classes.toRemove);
481
+ }
482
+ if (classes.toAdd) {
483
+ this.renderer.addClass(elem, classes.toAdd);
484
+ }
485
+ };
406
486
  var TextAreaComponent_1;
407
487
  tslib_1.__decorate([
408
488
  Input(),
@@ -410,8 +490,9 @@ var TextAreaComponent = /** @class */ (function (_super) {
410
490
  ], TextAreaComponent.prototype, "focusableId", void 0);
411
491
  tslib_1.__decorate([
412
492
  HostBinding('class.k-textarea'),
493
+ HostBinding('class.k-input'),
413
494
  tslib_1.__metadata("design:type", Boolean)
414
- ], TextAreaComponent.prototype, "hostClass", void 0);
495
+ ], TextAreaComponent.prototype, "hostClasses", void 0);
415
496
  tslib_1.__decorate([
416
497
  HostBinding('class.k-flex-col'),
417
498
  tslib_1.__metadata("design:type", Boolean),
@@ -451,6 +532,21 @@ var TextAreaComponent = /** @class */ (function (_super) {
451
532
  Input(),
452
533
  tslib_1.__metadata("design:type", String)
453
534
  ], TextAreaComponent.prototype, "resizable", void 0);
535
+ tslib_1.__decorate([
536
+ Input(),
537
+ tslib_1.__metadata("design:type", String),
538
+ tslib_1.__metadata("design:paramtypes", [String])
539
+ ], TextAreaComponent.prototype, "size", null);
540
+ tslib_1.__decorate([
541
+ Input(),
542
+ tslib_1.__metadata("design:type", String),
543
+ tslib_1.__metadata("design:paramtypes", [String])
544
+ ], TextAreaComponent.prototype, "rounded", null);
545
+ tslib_1.__decorate([
546
+ Input(),
547
+ tslib_1.__metadata("design:type", String),
548
+ tslib_1.__metadata("design:paramtypes", [String])
549
+ ], TextAreaComponent.prototype, "fillMode", null);
454
550
  tslib_1.__decorate([
455
551
  Output('focus'),
456
552
  tslib_1.__metadata("design:type", EventEmitter)
@@ -477,7 +573,7 @@ var TextAreaComponent = /** @class */ (function (_super) {
477
573
  { provide: KendoInput, useExisting: forwardRef(function () { return TextAreaComponent_1; }) }
478
574
  ],
479
575
  selector: 'kendo-textarea',
480
- template: "\n <textarea\n #input\n [attr.aria-multiline]=\"true\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n class=\"k-input\"\n [ngClass]=\"resizableClass\"\n [id]=\"focusableId\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.rows]=\"rows\"\n [attr.cols]=\"cols\"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"title\"\n [attr.maxlength]=\"maxlength\"\n [kendoEventsOutsideAngular]=\"{\n focus: handleInputFocus,\n blur: handleInputBlur,\n input: handleInput}\">\n </textarea>\n <ng-content select=\"kendo-textarea-suffix\"></ng-content>\n "
576
+ template: "\n <textarea\n #input\n [attr.aria-multiline]=\"true\"\n [attr.aria-disabled]=\"disabled ? true : undefined\"\n [attr.aria-readonly]=\"readonly ? true : undefined\"\n class=\"k-input-inner\"\n [ngClass]=\"resizableClass\"\n [id]=\"focusableId\"\n [value]=\"value\"\n [attr.placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.rows]=\"rows\"\n [attr.cols]=\"cols\"\n [attr.tabindex]=\"tabIndex\"\n [attr.title]=\"title\"\n [attr.maxlength]=\"maxlength\"\n [kendoEventsOutsideAngular]=\"{\n focus: handleInputFocus,\n blur: handleInputBlur,\n input: handleInput}\">\n </textarea>\n <ng-content select=\"kendo-textarea-suffix\"></ng-content>\n "
481
577
  }),
482
578
  tslib_1.__metadata("design:paramtypes", [LocalizationService,
483
579
  NgZone,