@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
@@ -1,209 +0,0 @@
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
- *-------------------------------------------------------------------------------------------*/
5
- import * as tslib_1 from "tslib";
6
- import { ContentChild, Component, ElementRef, EventEmitter, HostBinding, Input, Inject, Optional, Renderer2, isDevMode, ChangeDetectorRef } from '@angular/core';
7
- import { RTL } from '@progress/kendo-angular-l10n';
8
- import { TextAreaDirective } from '../shared/textarea.directive';
9
- import { NgControl } from '@angular/forms';
10
- import { guid, KendoInput } from '@progress/kendo-angular-common';
11
- import { FloatingLabelInputAdapter } from './floating-label-input-adapter';
12
- const isFunction = (x) => Object.prototype.toString.call(x) === '[object Function]';
13
- const ɵ0 = isFunction;
14
- /**
15
- * @hidden
16
- */
17
- let TextBoxContainerComponent = class TextBoxContainerComponent {
18
- constructor(elementRef, renderer, changeDetectorRef, rtl) {
19
- this.elementRef = elementRef;
20
- this.renderer = renderer;
21
- this.changeDetectorRef = changeDetectorRef;
22
- /**
23
- * @hidden
24
- */
25
- this.focused = false;
26
- /**
27
- * @hidden
28
- */
29
- this.empty = true;
30
- /**
31
- * @hidden
32
- */
33
- this.invalid = false;
34
- this._subscriptions = [];
35
- this.autoFillStarted = false;
36
- this.direction = rtl ? 'rtl' : 'ltr';
37
- this.renderer.removeAttribute(this.elementRef.nativeElement, "id");
38
- }
39
- get hostClasses() {
40
- return true;
41
- }
42
- get textareaElementClass() {
43
- return !!this.textarea;
44
- }
45
- get focusedClass() {
46
- return this.focused;
47
- }
48
- get invalidClass() {
49
- return this.invalid;
50
- }
51
- /**
52
- * @hidden
53
- */
54
- ngAfterContentInit() {
55
- if (!this.formControl && !this.kendoInput) {
56
- if (isDevMode()) {
57
- throw new Error("The TextBoxContainer requires a Kendo Input component" +
58
- " or a forms-bound component to function properly.");
59
- }
60
- return;
61
- }
62
- // add focus/blur/valueChange handlers
63
- const control = new FloatingLabelInputAdapter(this.kendoInput || this.formControl.valueAccessor, this.formControl);
64
- const setFocus = (isFocused) => () => {
65
- this.focused = isFocused;
66
- this.updateState();
67
- };
68
- this.subscribe(control, 'onFocus', setFocus(true));
69
- this.subscribe(control, 'onBlur', setFocus(false));
70
- this.subscribe(control, 'autoFillStart', () => {
71
- this.autoFillStarted = true;
72
- this.renderer.removeClass(this.elementRef.nativeElement, 'k-state-empty');
73
- });
74
- this.subscribe(control, 'autoFillEnd', () => {
75
- if (this.autoFillStarted) {
76
- this.autoFillStarted = false;
77
- if (this.empty) {
78
- this.renderer.addClass(this.elementRef.nativeElement, 'k-state-empty');
79
- }
80
- }
81
- });
82
- const updateState = () => this.updateState();
83
- updateState();
84
- this.subscribe(control, 'onValueChange', updateState);
85
- // set label id for floating label
86
- if (this.id && control.focusableId) {
87
- // input wins
88
- this.id = control.focusableId;
89
- }
90
- else if (this.id) {
91
- control.focusableId = this.id;
92
- }
93
- else if (control.focusableId) {
94
- this.id = control.focusableId;
95
- }
96
- else {
97
- const id = "_" + guid();
98
- control.focusableId = id;
99
- this.id = id;
100
- }
101
- }
102
- /**
103
- * @hidden
104
- */
105
- ngOnDestroy() {
106
- this._subscriptions.forEach(s => s.unsubscribe());
107
- this._subscriptions = [];
108
- }
109
- subscribe(control, eventName, handler) {
110
- if (control[eventName] instanceof EventEmitter) {
111
- const subscription = control[eventName].subscribe(handler);
112
- this._subscriptions.push(subscription);
113
- }
114
- }
115
- updateState() {
116
- const empty = value => {
117
- // zero is not an empty value (e.g., NumericTextBox)
118
- if (value === 0 || value === false) {
119
- return false;
120
- }
121
- // empty arrays are an empty value (e.g., MultiSelect)
122
- if (Array.isArray(value) && !value.length) {
123
- return true;
124
- }
125
- return !value;
126
- };
127
- const formControl = this.formControl;
128
- if (formControl) {
129
- const valueAccessor = formControl.valueAccessor;
130
- if (isFunction(valueAccessor.isEmpty)) {
131
- this.empty = valueAccessor.isEmpty();
132
- }
133
- else {
134
- this.empty = empty(formControl.value);
135
- }
136
- this.invalid = formControl.invalid && (formControl.touched || formControl.dirty);
137
- }
138
- else {
139
- this.empty = isFunction(this.kendoInput.isEmpty) ?
140
- this.kendoInput.isEmpty() : empty(this.kendoInput.value);
141
- }
142
- if (this.empty) {
143
- this.renderer.addClass(this.elementRef.nativeElement, 'k-state-empty');
144
- }
145
- else {
146
- this.renderer.removeClass(this.elementRef.nativeElement, 'k-state-empty');
147
- }
148
- this.changeDetectorRef.markForCheck();
149
- }
150
- };
151
- tslib_1.__decorate([
152
- HostBinding('class.k-textbox-container'),
153
- tslib_1.__metadata("design:type", Boolean),
154
- tslib_1.__metadata("design:paramtypes", [])
155
- ], TextBoxContainerComponent.prototype, "hostClasses", null);
156
- tslib_1.__decorate([
157
- HostBinding('class.k-textarea-wrapper'),
158
- tslib_1.__metadata("design:type", Boolean),
159
- tslib_1.__metadata("design:paramtypes", [])
160
- ], TextBoxContainerComponent.prototype, "textareaElementClass", null);
161
- tslib_1.__decorate([
162
- HostBinding('class.k-state-focused'),
163
- tslib_1.__metadata("design:type", Boolean),
164
- tslib_1.__metadata("design:paramtypes", [])
165
- ], TextBoxContainerComponent.prototype, "focusedClass", null);
166
- tslib_1.__decorate([
167
- HostBinding('class.k-state-invalid'),
168
- tslib_1.__metadata("design:type", Boolean),
169
- tslib_1.__metadata("design:paramtypes", [])
170
- ], TextBoxContainerComponent.prototype, "invalidClass", null);
171
- tslib_1.__decorate([
172
- HostBinding('attr.dir'),
173
- tslib_1.__metadata("design:type", String)
174
- ], TextBoxContainerComponent.prototype, "direction", void 0);
175
- tslib_1.__decorate([
176
- Input(),
177
- tslib_1.__metadata("design:type", String)
178
- ], TextBoxContainerComponent.prototype, "id", void 0);
179
- tslib_1.__decorate([
180
- Input(),
181
- tslib_1.__metadata("design:type", String)
182
- ], TextBoxContainerComponent.prototype, "floatingLabel", void 0);
183
- tslib_1.__decorate([
184
- ContentChild(KendoInput, { static: false }),
185
- tslib_1.__metadata("design:type", Object)
186
- ], TextBoxContainerComponent.prototype, "kendoInput", void 0);
187
- tslib_1.__decorate([
188
- ContentChild(TextAreaDirective, { static: false }),
189
- tslib_1.__metadata("design:type", TextAreaDirective)
190
- ], TextBoxContainerComponent.prototype, "textarea", void 0);
191
- tslib_1.__decorate([
192
- ContentChild(NgControl, { static: false }),
193
- tslib_1.__metadata("design:type", NgControl)
194
- ], TextBoxContainerComponent.prototype, "formControl", void 0);
195
- TextBoxContainerComponent = tslib_1.__decorate([
196
- Component({
197
- selector: 'kendo-textbox-container',
198
- template: `
199
- <ng-content></ng-content>
200
- <label *ngIf="floatingLabel" [for]="id" class="k-label">{{ floatingLabel }}</label>
201
- `
202
- }),
203
- tslib_1.__param(3, Optional()), tslib_1.__param(3, Inject(RTL)),
204
- tslib_1.__metadata("design:paramtypes", [ElementRef,
205
- Renderer2,
206
- ChangeDetectorRef, Boolean])
207
- ], TextBoxContainerComponent);
208
- export { TextBoxContainerComponent };
209
- export { ɵ0 };
@@ -1,60 +0,0 @@
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
- *-------------------------------------------------------------------------------------------*/
5
- "use strict";
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- var rxjs_1 = require("rxjs");
8
- var core_1 = require("@angular/core");
9
- /**
10
- * @hidden
11
- */
12
- var FloatingLabelInputAdapter = /** @class */ (function () {
13
- function FloatingLabelInputAdapter(component, formControl) {
14
- this.component = component;
15
- var isObservableOrEventEmitter = function (event) { return event instanceof rxjs_1.Observable || event instanceof core_1.EventEmitter; };
16
- if (isObservableOrEventEmitter(component.onFocus)) {
17
- this.onFocus = component.onFocus;
18
- }
19
- if (isObservableOrEventEmitter(component.autoFillStart)) {
20
- this.autoFillStart = component.autoFillStart;
21
- }
22
- if (isObservableOrEventEmitter(component.autoFillEnd)) {
23
- this.autoFillEnd = component.autoFillEnd;
24
- }
25
- if (isObservableOrEventEmitter(component.onBlur)) {
26
- this.onBlur = component.onBlur;
27
- }
28
- if (formControl) {
29
- this.onValueChange = formControl.valueChanges;
30
- }
31
- else if (component.onValueChange) {
32
- this.onValueChange = component.onValueChange;
33
- }
34
- }
35
- Object.defineProperty(FloatingLabelInputAdapter.prototype, "focusableId", {
36
- get: function () {
37
- var component = this.component;
38
- if ('focusableId' in component) {
39
- return component.focusableId;
40
- }
41
- else if ('id' in component) {
42
- return component.id;
43
- }
44
- return "";
45
- },
46
- set: function (value) {
47
- var component = this.component;
48
- if ('focusableId' in component) {
49
- component.focusableId = value;
50
- }
51
- else if ('id' in component) {
52
- component.id = value;
53
- }
54
- },
55
- enumerable: true,
56
- configurable: true
57
- });
58
- return FloatingLabelInputAdapter;
59
- }());
60
- exports.FloatingLabelInputAdapter = FloatingLabelInputAdapter;
@@ -1,226 +0,0 @@
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
- *-------------------------------------------------------------------------------------------*/
5
- "use strict";
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- var tslib_1 = require("tslib");
8
- var core_1 = require("@angular/core");
9
- var kendo_angular_l10n_1 = require("@progress/kendo-angular-l10n");
10
- var textarea_directive_1 = require("../shared/textarea.directive");
11
- var forms_1 = require("@angular/forms");
12
- var kendo_angular_common_1 = require("@progress/kendo-angular-common");
13
- var floating_label_input_adapter_1 = require("./floating-label-input-adapter");
14
- var isFunction = function (x) { return Object.prototype.toString.call(x) === '[object Function]'; };
15
- var ɵ0 = isFunction;
16
- exports.ɵ0 = ɵ0;
17
- /**
18
- * @hidden
19
- */
20
- var TextBoxContainerComponent = /** @class */ (function () {
21
- function TextBoxContainerComponent(elementRef, renderer, changeDetectorRef, rtl) {
22
- this.elementRef = elementRef;
23
- this.renderer = renderer;
24
- this.changeDetectorRef = changeDetectorRef;
25
- /**
26
- * @hidden
27
- */
28
- this.focused = false;
29
- /**
30
- * @hidden
31
- */
32
- this.empty = true;
33
- /**
34
- * @hidden
35
- */
36
- this.invalid = false;
37
- this._subscriptions = [];
38
- this.autoFillStarted = false;
39
- this.direction = rtl ? 'rtl' : 'ltr';
40
- this.renderer.removeAttribute(this.elementRef.nativeElement, "id");
41
- }
42
- Object.defineProperty(TextBoxContainerComponent.prototype, "hostClasses", {
43
- get: function () {
44
- return true;
45
- },
46
- enumerable: true,
47
- configurable: true
48
- });
49
- Object.defineProperty(TextBoxContainerComponent.prototype, "textareaElementClass", {
50
- get: function () {
51
- return !!this.textarea;
52
- },
53
- enumerable: true,
54
- configurable: true
55
- });
56
- Object.defineProperty(TextBoxContainerComponent.prototype, "focusedClass", {
57
- get: function () {
58
- return this.focused;
59
- },
60
- enumerable: true,
61
- configurable: true
62
- });
63
- Object.defineProperty(TextBoxContainerComponent.prototype, "invalidClass", {
64
- get: function () {
65
- return this.invalid;
66
- },
67
- enumerable: true,
68
- configurable: true
69
- });
70
- /**
71
- * @hidden
72
- */
73
- TextBoxContainerComponent.prototype.ngAfterContentInit = function () {
74
- var _this = this;
75
- if (!this.formControl && !this.kendoInput) {
76
- if (core_1.isDevMode()) {
77
- throw new Error("The TextBoxContainer requires a Kendo Input component" +
78
- " or a forms-bound component to function properly.");
79
- }
80
- return;
81
- }
82
- // add focus/blur/valueChange handlers
83
- var control = new floating_label_input_adapter_1.FloatingLabelInputAdapter(this.kendoInput || this.formControl.valueAccessor, this.formControl);
84
- var setFocus = function (isFocused) { return function () {
85
- _this.focused = isFocused;
86
- _this.updateState();
87
- }; };
88
- this.subscribe(control, 'onFocus', setFocus(true));
89
- this.subscribe(control, 'onBlur', setFocus(false));
90
- this.subscribe(control, 'autoFillStart', function () {
91
- _this.autoFillStarted = true;
92
- _this.renderer.removeClass(_this.elementRef.nativeElement, 'k-state-empty');
93
- });
94
- this.subscribe(control, 'autoFillEnd', function () {
95
- if (_this.autoFillStarted) {
96
- _this.autoFillStarted = false;
97
- if (_this.empty) {
98
- _this.renderer.addClass(_this.elementRef.nativeElement, 'k-state-empty');
99
- }
100
- }
101
- });
102
- var updateState = function () { return _this.updateState(); };
103
- updateState();
104
- this.subscribe(control, 'onValueChange', updateState);
105
- // set label id for floating label
106
- if (this.id && control.focusableId) {
107
- // input wins
108
- this.id = control.focusableId;
109
- }
110
- else if (this.id) {
111
- control.focusableId = this.id;
112
- }
113
- else if (control.focusableId) {
114
- this.id = control.focusableId;
115
- }
116
- else {
117
- var id = "_" + kendo_angular_common_1.guid();
118
- control.focusableId = id;
119
- this.id = id;
120
- }
121
- };
122
- /**
123
- * @hidden
124
- */
125
- TextBoxContainerComponent.prototype.ngOnDestroy = function () {
126
- this._subscriptions.forEach(function (s) { return s.unsubscribe(); });
127
- this._subscriptions = [];
128
- };
129
- TextBoxContainerComponent.prototype.subscribe = function (control, eventName, handler) {
130
- if (control[eventName] instanceof core_1.EventEmitter) {
131
- var subscription = control[eventName].subscribe(handler);
132
- this._subscriptions.push(subscription);
133
- }
134
- };
135
- TextBoxContainerComponent.prototype.updateState = function () {
136
- var empty = function (value) {
137
- // zero is not an empty value (e.g., NumericTextBox)
138
- if (value === 0 || value === false) {
139
- return false;
140
- }
141
- // empty arrays are an empty value (e.g., MultiSelect)
142
- if (Array.isArray(value) && !value.length) {
143
- return true;
144
- }
145
- return !value;
146
- };
147
- var formControl = this.formControl;
148
- if (formControl) {
149
- var valueAccessor = formControl.valueAccessor;
150
- if (isFunction(valueAccessor.isEmpty)) {
151
- this.empty = valueAccessor.isEmpty();
152
- }
153
- else {
154
- this.empty = empty(formControl.value);
155
- }
156
- this.invalid = formControl.invalid && (formControl.touched || formControl.dirty);
157
- }
158
- else {
159
- this.empty = isFunction(this.kendoInput.isEmpty) ?
160
- this.kendoInput.isEmpty() : empty(this.kendoInput.value);
161
- }
162
- if (this.empty) {
163
- this.renderer.addClass(this.elementRef.nativeElement, 'k-state-empty');
164
- }
165
- else {
166
- this.renderer.removeClass(this.elementRef.nativeElement, 'k-state-empty');
167
- }
168
- this.changeDetectorRef.markForCheck();
169
- };
170
- tslib_1.__decorate([
171
- core_1.HostBinding('class.k-textbox-container'),
172
- tslib_1.__metadata("design:type", Boolean),
173
- tslib_1.__metadata("design:paramtypes", [])
174
- ], TextBoxContainerComponent.prototype, "hostClasses", null);
175
- tslib_1.__decorate([
176
- core_1.HostBinding('class.k-textarea-wrapper'),
177
- tslib_1.__metadata("design:type", Boolean),
178
- tslib_1.__metadata("design:paramtypes", [])
179
- ], TextBoxContainerComponent.prototype, "textareaElementClass", null);
180
- tslib_1.__decorate([
181
- core_1.HostBinding('class.k-state-focused'),
182
- tslib_1.__metadata("design:type", Boolean),
183
- tslib_1.__metadata("design:paramtypes", [])
184
- ], TextBoxContainerComponent.prototype, "focusedClass", null);
185
- tslib_1.__decorate([
186
- core_1.HostBinding('class.k-state-invalid'),
187
- tslib_1.__metadata("design:type", Boolean),
188
- tslib_1.__metadata("design:paramtypes", [])
189
- ], TextBoxContainerComponent.prototype, "invalidClass", null);
190
- tslib_1.__decorate([
191
- core_1.HostBinding('attr.dir'),
192
- tslib_1.__metadata("design:type", String)
193
- ], TextBoxContainerComponent.prototype, "direction", void 0);
194
- tslib_1.__decorate([
195
- core_1.Input(),
196
- tslib_1.__metadata("design:type", String)
197
- ], TextBoxContainerComponent.prototype, "id", void 0);
198
- tslib_1.__decorate([
199
- core_1.Input(),
200
- tslib_1.__metadata("design:type", String)
201
- ], TextBoxContainerComponent.prototype, "floatingLabel", void 0);
202
- tslib_1.__decorate([
203
- core_1.ContentChild(kendo_angular_common_1.KendoInput, { static: false }),
204
- tslib_1.__metadata("design:type", Object)
205
- ], TextBoxContainerComponent.prototype, "kendoInput", void 0);
206
- tslib_1.__decorate([
207
- core_1.ContentChild(textarea_directive_1.TextAreaDirective, { static: false }),
208
- tslib_1.__metadata("design:type", textarea_directive_1.TextAreaDirective)
209
- ], TextBoxContainerComponent.prototype, "textarea", void 0);
210
- tslib_1.__decorate([
211
- core_1.ContentChild(forms_1.NgControl, { static: false }),
212
- tslib_1.__metadata("design:type", forms_1.NgControl)
213
- ], TextBoxContainerComponent.prototype, "formControl", void 0);
214
- TextBoxContainerComponent = tslib_1.__decorate([
215
- core_1.Component({
216
- selector: 'kendo-textbox-container',
217
- template: "\n <ng-content></ng-content>\n <label *ngIf=\"floatingLabel\" [for]=\"id\" class=\"k-label\">{{ floatingLabel }}</label>\n "
218
- }),
219
- tslib_1.__param(3, core_1.Optional()), tslib_1.__param(3, core_1.Inject(kendo_angular_l10n_1.RTL)),
220
- tslib_1.__metadata("design:paramtypes", [core_1.ElementRef,
221
- core_1.Renderer2,
222
- core_1.ChangeDetectorRef, Boolean])
223
- ], TextBoxContainerComponent);
224
- return TextBoxContainerComponent;
225
- }());
226
- exports.TextBoxContainerComponent = TextBoxContainerComponent;