@progress/kendo-angular-inputs 17.0.0-develop.9 → 17.0.1-develop.1
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.
- package/checkbox/checkbox.component.d.ts +1 -1
- package/checkbox/checkbox.directive.d.ts +1 -1
- package/checkbox/checked-state.d.ts +1 -1
- package/colorpicker/color-contrast-svg.component.d.ts +1 -1
- package/colorpicker/color-gradient-numeric-label.directive.d.ts +1 -1
- package/colorpicker/color-gradient.component.d.ts +1 -1
- package/colorpicker/color-input.component.d.ts +1 -1
- package/colorpicker/color-palette.component.d.ts +1 -1
- package/colorpicker/colorpicker.component.d.ts +1 -1
- package/colorpicker/contrast-validation.component.d.ts +1 -1
- package/colorpicker/contrast.component.d.ts +1 -1
- package/colorpicker/flatcolorpicker-actions.component.d.ts +1 -1
- package/colorpicker/flatcolorpicker-header.component.d.ts +1 -1
- package/colorpicker/flatcolorpicker.component.d.ts +1 -1
- package/colorpicker/localization/messages.d.ts +1 -1
- package/colorpicker/models/actions-layout.d.ts +1 -1
- package/colorpicker/models/colorpicker-view.d.ts +1 -1
- package/colorpicker/models/output-format.d.ts +1 -1
- package/common/models/fillmode.d.ts +1 -1
- package/common/models/rounded.d.ts +2 -2
- package/common/models/size.d.ts +1 -1
- package/common/models/type.d.ts +1 -1
- package/common/radio-checkbox.base.d.ts +1 -1
- package/common/utils.d.ts +1 -1
- package/{esm2020 → esm2022}/checkbox/checkbox.component.mjs +49 -44
- package/{esm2020 → esm2022}/checkbox/checkbox.directive.mjs +12 -10
- package/{esm2020 → esm2022}/checkbox.module.mjs +4 -4
- package/{esm2020 → esm2022}/colorpicker/color-contrast-svg.component.mjs +13 -7
- package/{esm2020 → esm2022}/colorpicker/color-gradient-numeric-label.directive.mjs +6 -3
- package/{esm2020 → esm2022}/colorpicker/color-gradient.component.mjs +142 -125
- package/{esm2020 → esm2022}/colorpicker/color-input.component.mjs +69 -49
- package/{esm2020 → esm2022}/colorpicker/color-palette.component.mjs +129 -98
- package/{esm2020 → esm2022}/colorpicker/colorpicker.component.mjs +211 -158
- package/{esm2020 → esm2022}/colorpicker/contrast-validation.component.mjs +10 -6
- package/{esm2020 → esm2022}/colorpicker/contrast.component.mjs +9 -6
- package/{esm2020 → esm2022}/colorpicker/events/active-color-click-event.mjs +2 -1
- package/{esm2020 → esm2022}/colorpicker/events/cancel-event.mjs +4 -0
- package/{esm2020 → esm2022}/colorpicker/flatcolorpicker-actions.component.mjs +11 -8
- package/{esm2020 → esm2022}/colorpicker/flatcolorpicker-header.component.mjs +23 -13
- package/{esm2020 → esm2022}/colorpicker/flatcolorpicker.component.mjs +155 -127
- package/{esm2020 → esm2022}/colorpicker/localization/colorgradient-localization.service.mjs +4 -3
- package/{esm2020 → esm2022}/colorpicker/localization/colorpalette-localization.service.mjs +4 -3
- package/{esm2020 → esm2022}/colorpicker/localization/colorpicker-localization.service.mjs +3 -3
- package/{esm2020 → esm2022}/colorpicker/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/colorpicker/localization/flatcolorpicker-localization.service.mjs +4 -3
- package/{esm2020 → esm2022}/colorpicker/localization/localized-colorpicker-messages.directive.mjs +9 -8
- package/esm2022/colorpicker/localization/messages.mjs +183 -0
- package/{esm2020 → esm2022}/colorpicker/services/color-palette.service.mjs +4 -6
- package/{esm2020 → esm2022}/colorpicker/services/flatcolorpicker.service.mjs +3 -3
- package/{esm2020 → esm2022}/colorpicker.module.mjs +4 -4
- package/{esm2020 → esm2022}/common/radio-checkbox.base.mjs +80 -56
- package/{esm2020 → esm2022}/formfield/error.component.mjs +18 -20
- package/{esm2020 → esm2022}/formfield/formfield.component.mjs +67 -55
- package/{esm2020 → esm2022}/formfield/hint.component.mjs +17 -19
- package/{esm2020 → esm2022}/formfield.module.mjs +4 -4
- package/{esm2020 → esm2022}/index.mjs +0 -1
- package/esm2022/inputs.module.mjs +96 -0
- package/{esm2020 → esm2022}/maskedtextbox/maskedtextbox.component.mjs +263 -223
- package/{esm2020 → esm2022}/maskedtextbox/masking.service.mjs +12 -14
- package/{esm2020 → esm2022}/maskedtextbox/parsing/parsers.mjs +1 -0
- package/{esm2020 → esm2022}/maskedtextbox/parsing/result.mjs +3 -0
- package/{esm2020 → esm2022}/maskedtextbox/parsing/stream.mjs +4 -2
- package/{esm2020 → esm2022}/maskedtextbox.module.mjs +7 -7
- package/{esm2020 → esm2022}/numerictextbox/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/numerictextbox/localization/localized-numerictextbox-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/numerictextbox/localization/messages.mjs +11 -3
- package/{esm2020 → esm2022}/numerictextbox/numerictextbox.component.mjs +367 -319
- package/{esm2020 → esm2022}/numerictextbox.module.mjs +7 -7
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/radiobutton/radiobutton.component.mjs +58 -51
- package/{esm2020 → esm2022}/radiobutton/radiobutton.directive.mjs +12 -10
- package/{esm2020 → esm2022}/radiobutton.module.mjs +4 -4
- package/{esm2020 → esm2022}/rangeslider/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/rangeslider/localization/localized-rangeslider-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/rangeslider/localization/messages.mjs +11 -3
- package/{esm2020 → esm2022}/rangeslider/rangeslider-model.mjs +2 -0
- package/{esm2020 → esm2022}/rangeslider/rangeslider.component.mjs +117 -101
- package/{esm2020 → esm2022}/rangeslider.module.mjs +4 -4
- package/{esm2020 → esm2022}/rating/directives/rating-hovered-item.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rating/directives/rating-item.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rating/directives/rating-selected-item.directive.mjs +4 -3
- package/{esm2020 → esm2022}/rating/rating.component.mjs +96 -76
- package/{esm2020 → esm2022}/rating.module.mjs +4 -4
- package/{esm2020 → esm2022}/shared/input-separator.component.mjs +10 -12
- package/{esm2020 → esm2022}/shared/shared-events.directive.mjs +13 -7
- package/{esm2020 → esm2022}/shared/textarea.directive.mjs +66 -52
- package/{esm2020 → esm2022}/signature/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/signature/localization/localized-signature-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/signature/localization/messages.mjs +19 -3
- package/{esm2020 → esm2022}/signature/signature.component.mjs +205 -151
- package/{esm2020 → esm2022}/signature.module.mjs +4 -4
- package/{esm2020 → esm2022}/slider/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/slider/localization/localized-slider-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/slider/localization/messages.mjs +15 -3
- package/{esm2020 → esm2022}/slider/slider-model.mjs +1 -0
- package/{esm2020 → esm2022}/slider/slider.component.mjs +121 -99
- package/{esm2020 → esm2022}/slider.module.mjs +4 -4
- package/{esm2020 → esm2022}/sliders-common/label-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/sliders-common/slider-base.mjs +112 -90
- package/{esm2020 → esm2022}/sliders-common/slider-model.base.mjs +6 -0
- package/{esm2020 → esm2022}/sliders-common/slider-ticks.component.mjs +19 -11
- package/{esm2020 → esm2022}/switch/events/blur-event.mjs +4 -0
- package/{esm2020 → esm2022}/switch/events/focus-event.mjs +4 -0
- package/{esm2020 → esm2022}/switch/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/switch/localization/localized-switch-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/switch/localization/messages.mjs +11 -3
- package/{esm2020 → esm2022}/switch/switch.component.mjs +125 -106
- package/{esm2020 → esm2022}/switch.module.mjs +4 -4
- package/esm2022/text-fields-common/text-fields-base.mjs +150 -0
- package/{esm2020 → esm2022}/textarea/textarea-prefix.component.mjs +12 -14
- package/{esm2020 → esm2022}/textarea/textarea-suffix.component.mjs +12 -14
- package/{esm2020 → esm2022}/textarea/textarea.component.mjs +173 -144
- package/{esm2020 → esm2022}/textarea.module.mjs +7 -7
- package/{esm2020 → esm2022}/textbox/localization/custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/textbox/localization/localized-textbox-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/textbox/localization/messages.mjs +7 -3
- package/{esm2020 → esm2022}/textbox/textbox-prefix.directive.mjs +8 -7
- package/{esm2020 → esm2022}/textbox/textbox-suffix.directive.mjs +8 -7
- package/{esm2020 → esm2022}/textbox/textbox.component.mjs +286 -204
- package/{esm2020 → esm2022}/textbox/textbox.directive.mjs +36 -33
- package/{esm2020 → esm2022}/textbox.module.mjs +7 -7
- package/{fesm2020 → fesm2022}/progress-kendo-angular-inputs.mjs +3718 -2910
- package/formfield/error.component.d.ts +1 -1
- package/formfield/formfield.component.d.ts +1 -1
- package/formfield/hint.component.d.ts +1 -1
- package/formfield/models/message-align.d.ts +1 -1
- package/formfield/models/orientation.d.ts +1 -1
- package/formfield/models/show-options.d.ts +1 -1
- package/index.d.ts +0 -1
- package/inputs.module.d.ts +1 -1
- package/maskedtextbox/maskedtextbox.component.d.ts +1 -1
- package/maskedtextbox.module.d.ts +1 -1
- package/numerictextbox/localization/messages.d.ts +1 -1
- package/numerictextbox/numerictextbox.component.d.ts +1 -1
- package/numerictextbox.module.d.ts +1 -1
- package/package.json +20 -26
- package/radiobutton/radiobutton.component.d.ts +1 -1
- package/radiobutton/radiobutton.directive.d.ts +1 -1
- package/rangeslider/localization/messages.d.ts +1 -1
- package/rangeslider/rangeslider-model.d.ts +0 -1
- package/rangeslider/rangeslider-value.type.d.ts +1 -1
- package/rangeslider/rangeslider.component.d.ts +1 -1
- package/rating/models/precision.d.ts +1 -1
- package/rating/models/selection.d.ts +1 -1
- package/rating/rating.component.d.ts +1 -1
- package/schematics/ngAdd/index.js +1 -1
- package/shared/input-separator.component.d.ts +1 -1
- package/shared/shared-events.directive.d.ts +1 -1
- package/shared/textarea.directive.d.ts +1 -1
- package/signature/localization/messages.d.ts +1 -1
- package/signature/signature.component.d.ts +1 -1
- package/slider/localization/messages.d.ts +1 -1
- package/slider/slider-model.d.ts +0 -1
- package/slider/slider.component.d.ts +1 -1
- package/sliders-common/slider-base.d.ts +1 -1
- package/sliders-common/slider-ticks.component.d.ts +1 -1
- package/sliders-common/title-callback.d.ts +1 -1
- package/switch/localization/messages.d.ts +1 -1
- package/switch/switch.component.d.ts +1 -1
- package/text-fields-common/text-fields-base.d.ts +1 -1
- package/textarea/models/adornments-orientation.d.ts +1 -1
- package/textarea/models/flow.d.ts +1 -1
- package/textarea/models/resize.d.ts +1 -1
- package/textarea/textarea-prefix.component.d.ts +1 -1
- package/textarea/textarea-suffix.component.d.ts +1 -1
- package/textarea/textarea.component.d.ts +1 -1
- package/textarea.module.d.ts +1 -1
- package/textbox/localization/messages.d.ts +1 -1
- package/textbox/models/icon-show-options.d.ts +1 -1
- package/textbox/textbox-prefix.directive.d.ts +1 -1
- package/textbox/textbox-suffix.directive.d.ts +1 -1
- package/textbox/textbox.component.d.ts +1 -1
- package/textbox/textbox.directive.d.ts +1 -1
- package/textbox.module.d.ts +1 -1
- package/esm2020/colorpicker/localization/messages.mjs +0 -75
- package/esm2020/inputs.module.mjs +0 -96
- package/esm2020/shared.module.mjs +0 -32
- package/esm2020/text-fields-common/text-fields-base.mjs +0 -131
- package/fesm2015/progress-kendo-angular-inputs.mjs +0 -17268
- package/shared.module.d.ts +0 -19
- /package/{esm2020 → esm2022}/checkbox/checked-state.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/events/close-event.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/events/kendo-drag-event.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/events/open-event.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/events.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/actions-layout.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/colorpicker-view.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/gradient-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/hsva.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/output-format.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/palette-presets.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/palette-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/popup-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/rgb.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/rgba.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/table-cell.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models/tile-size.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/models.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/utils/color-parser.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/utils/contrast-curve.mjs +0 -0
- /package/{esm2020 → esm2022}/colorpicker/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/common/dom-utils.mjs +0 -0
- /package/{esm2020 → esm2022}/common/math.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/fillmode.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/rounded.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/size.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/styling-classes.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/type.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models.mjs +0 -0
- /package/{esm2020 → esm2022}/common/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/formfield/models/message-align.mjs +0 -0
- /package/{esm2020 → esm2022}/formfield/models/orientation.mjs +0 -0
- /package/{esm2020 → esm2022}/formfield/models/show-options.mjs +0 -0
- /package/{esm2020 → esm2022}/maskedtextbox/parsing/combinators.mjs +0 -0
- /package/{esm2020 → esm2022}/numerictextbox/arrow-direction.mjs +0 -0
- /package/{esm2020 → esm2022}/numerictextbox/constants.mjs +0 -0
- /package/{esm2020 → esm2022}/numerictextbox/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-inputs.mjs +0 -0
- /package/{esm2020 → esm2022}/rangeslider/rangeslider-value.type.mjs +0 -0
- /package/{esm2020 → esm2022}/rating/models/precision.mjs +0 -0
- /package/{esm2020 → esm2022}/rating/models/rating-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/rating/models/selection.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/signature/events/close-event.mjs +0 -0
- /package/{esm2020 → esm2022}/signature/events/index.mjs +0 -0
- /package/{esm2020 → esm2022}/signature/events/open-event.mjs +0 -0
- /package/{esm2020 → esm2022}/signature/localization/index.mjs +0 -0
- /package/{esm2020 → esm2022}/sliders-common/sliders-util.mjs +0 -0
- /package/{esm2020 → esm2022}/sliders-common/title-callback.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/models/adornments-orientation.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/models/flow.mjs +0 -0
- /package/{esm2020 → esm2022}/textarea/models/resize.mjs +0 -0
- /package/{esm2020 → esm2022}/textbox/models/icon-show-options.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/max.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/min.validator.mjs +0 -0
|
@@ -28,197 +28,106 @@ const DEFAULT_ROUNDED = 'medium';
|
|
|
28
28
|
const DEFAULT_FILL_MODE = 'solid';
|
|
29
29
|
const iconsMap = { checkIcon, exclamationCircleIcon, xIcon };
|
|
30
30
|
export class TextBoxComponent {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
* <kendo-textbox (focus)="handleFocus()"></kendo-textbox>
|
|
132
|
-
* `
|
|
133
|
-
* })
|
|
134
|
-
* class AppComponent {
|
|
135
|
-
* public handleFocus(): void {
|
|
136
|
-
* console.log('Component is focused.');
|
|
137
|
-
* }
|
|
138
|
-
* }
|
|
139
|
-
* ```
|
|
140
|
-
*/
|
|
141
|
-
this.onFocus = new EventEmitter();
|
|
142
|
-
/**
|
|
143
|
-
* Fires each time the TextBox component gets blurred.
|
|
144
|
-
*
|
|
145
|
-
* > To wire the event programmatically, use the `onBlur` property.
|
|
146
|
-
*
|
|
147
|
-
* @example
|
|
148
|
-
* ```ts-no-run
|
|
149
|
-
* _@Component({
|
|
150
|
-
* selector: 'my-app',
|
|
151
|
-
* template: `
|
|
152
|
-
* <kendo-textbox (blur)="handleBlur()"></kendo-textbox>
|
|
153
|
-
* `
|
|
154
|
-
* })
|
|
155
|
-
* class AppComponent {
|
|
156
|
-
* public handleBlur(): void {
|
|
157
|
-
* console.log('Component is blurred');
|
|
158
|
-
* }
|
|
159
|
-
* }
|
|
160
|
-
* ```
|
|
161
|
-
*/
|
|
162
|
-
this.onBlur = new EventEmitter();
|
|
163
|
-
this.hostClasses = true;
|
|
164
|
-
this._isFocused = false;
|
|
165
|
-
this.focusChangedProgrammatically = false;
|
|
166
|
-
this._size = 'medium';
|
|
167
|
-
this._rounded = 'medium';
|
|
168
|
-
this._fillMode = 'solid';
|
|
169
|
-
this.parsedAttributes = {};
|
|
170
|
-
/**
|
|
171
|
-
* @hidden
|
|
172
|
-
*/
|
|
173
|
-
this.handleInputFocus = () => {
|
|
174
|
-
if (!this.disabled) {
|
|
175
|
-
if (this.selectOnFocus && this.value) {
|
|
176
|
-
this.ngZone.run(() => {
|
|
177
|
-
setTimeout(() => { this.selectAll(); });
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
if (!this.isFocused) {
|
|
181
|
-
this.handleFocus();
|
|
182
|
-
}
|
|
183
|
-
if (hasObservers(this.inputFocus)) {
|
|
184
|
-
if (!this.focusChangedProgrammatically || (this.focusChangedProgrammatically && this.clearButtonClicked)) {
|
|
185
|
-
this.ngZone.run(() => {
|
|
186
|
-
this.inputFocus.emit();
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
};
|
|
192
|
-
/**
|
|
193
|
-
* @hidden
|
|
194
|
-
*/
|
|
195
|
-
this.handleInputBlur = () => {
|
|
196
|
-
this.changeDetector.markForCheck();
|
|
197
|
-
if (hasObservers(this.inputBlur) || requiresZoneOnBlur(this.control)) {
|
|
198
|
-
this.ngZone.run(() => {
|
|
199
|
-
this.ngTouched();
|
|
200
|
-
this.inputBlur.emit();
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
};
|
|
204
|
-
/**
|
|
205
|
-
* @hidden
|
|
206
|
-
*/
|
|
207
|
-
this.handleInput = (ev) => {
|
|
208
|
-
const target = ev.target;
|
|
209
|
-
const isBrowserSafari = isSafari(navigator.userAgent);
|
|
210
|
-
const incomingValue = isBrowserSafari && isJapanese(target.value) ? ev.data : target.value;
|
|
211
|
-
const [caretStart, caretEnd] = [target.selectionStart, target.selectionEnd];
|
|
212
|
-
this.updateValue(incomingValue);
|
|
213
|
-
if (isBrowserSafari) {
|
|
214
|
-
target.setSelectionRange(caretStart, caretEnd);
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
this.ngChange = (_) => { };
|
|
218
|
-
this.ngTouched = () => { };
|
|
219
|
-
validatePackage(packageMetadata);
|
|
220
|
-
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
221
|
-
}
|
|
31
|
+
localizationService;
|
|
32
|
+
ngZone;
|
|
33
|
+
changeDetector;
|
|
34
|
+
renderer;
|
|
35
|
+
injector;
|
|
36
|
+
hostElement;
|
|
37
|
+
/**
|
|
38
|
+
* @hidden
|
|
39
|
+
*/
|
|
40
|
+
focusableId = `k-${guid()}`;
|
|
41
|
+
/**
|
|
42
|
+
* Sets the `title` attribute of the `input` element of the TextBox.
|
|
43
|
+
*/
|
|
44
|
+
title;
|
|
45
|
+
/**
|
|
46
|
+
* Sets the `type` attribute of the `input` element of the TextBox.
|
|
47
|
+
*/
|
|
48
|
+
type = 'text';
|
|
49
|
+
/**
|
|
50
|
+
* Sets the disabled state of the TextBox. To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_textbox#toc-managing-the-textbox-disabled-state-in-reactive-forms).
|
|
51
|
+
*
|
|
52
|
+
* @default false
|
|
53
|
+
*/
|
|
54
|
+
disabled = false;
|
|
55
|
+
/**
|
|
56
|
+
* Sets the read-only state of the component.
|
|
57
|
+
*
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
readonly = false;
|
|
61
|
+
/**
|
|
62
|
+
* Specifies the `tabindex` of the TextBox.
|
|
63
|
+
*
|
|
64
|
+
* @default 0
|
|
65
|
+
*/
|
|
66
|
+
tabindex = 0;
|
|
67
|
+
/**
|
|
68
|
+
* Provides a value for the TextBox.
|
|
69
|
+
*/
|
|
70
|
+
value = null;
|
|
71
|
+
/**
|
|
72
|
+
* Determines whether the whole value will be selected when the TextBox is clicked. Defaults to `false`.
|
|
73
|
+
*
|
|
74
|
+
* @default false
|
|
75
|
+
*/
|
|
76
|
+
selectOnFocus = false;
|
|
77
|
+
/**
|
|
78
|
+
* Specifies when the Success icon will be shown ([see example]({% slug validation_textbox %})).
|
|
79
|
+
*
|
|
80
|
+
* The possible values are:
|
|
81
|
+
*
|
|
82
|
+
* `boolean`—The Success icon is displayed, if the condition given by the developer is met.
|
|
83
|
+
*
|
|
84
|
+
* `initial`—The Success icon will be displayed when the component state is neither `invalid` nor `touched` or `dirty`.
|
|
85
|
+
*
|
|
86
|
+
* @default false
|
|
87
|
+
*/
|
|
88
|
+
showSuccessIcon = false;
|
|
89
|
+
/**
|
|
90
|
+
* Specifies when the Error icon will be shown ([see example]({% slug validation_textbox %})).
|
|
91
|
+
*
|
|
92
|
+
* The possible values are:
|
|
93
|
+
*
|
|
94
|
+
* * `initial`—The Error icon will be displayed when the component state is
|
|
95
|
+
* `invalid` and `touched` or `dirty`.
|
|
96
|
+
* * `boolean`—The Error icon is displayed, if the condition given by the developer is met.
|
|
97
|
+
*
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
showErrorIcon = false;
|
|
101
|
+
/**
|
|
102
|
+
* Specifies whether a Clear button will be rendered.
|
|
103
|
+
*
|
|
104
|
+
* @default false
|
|
105
|
+
*/
|
|
106
|
+
clearButton = false;
|
|
107
|
+
/**
|
|
108
|
+
* Sets a custom icon that will be rendered instead of the default one for a valid user input.
|
|
109
|
+
*/
|
|
110
|
+
successIcon;
|
|
111
|
+
/**
|
|
112
|
+
* Sets a custom SVG icon that will be rendered instead of the default one for a valid user input.
|
|
113
|
+
*/
|
|
114
|
+
successSvgIcon;
|
|
115
|
+
/**
|
|
116
|
+
* Sets a custom icon that will be rendered instead of the default one for invalid user input.
|
|
117
|
+
*/
|
|
118
|
+
errorIcon;
|
|
119
|
+
/**
|
|
120
|
+
* Sets a custom SVG icon that will be rendered instead of the default one for invalid user input.
|
|
121
|
+
*/
|
|
122
|
+
errorSvgIcon;
|
|
123
|
+
/**
|
|
124
|
+
* Sets a custom icon that will be rendered instead of the default one.
|
|
125
|
+
*/
|
|
126
|
+
clearButtonIcon;
|
|
127
|
+
/**
|
|
128
|
+
* Sets a custom SVG icon that will be rendered instead of the default one.
|
|
129
|
+
*/
|
|
130
|
+
clearButtonSvgIcon;
|
|
222
131
|
/**
|
|
223
132
|
* The size property specifies the padding of the TextBox internal input element
|
|
224
133
|
* ([see example]({% slug appearance_textbox %}#toc-size)).
|
|
@@ -283,6 +192,14 @@ export class TextBoxComponent {
|
|
|
283
192
|
get tabIndex() {
|
|
284
193
|
return this.tabindex;
|
|
285
194
|
}
|
|
195
|
+
/**
|
|
196
|
+
* The hint, which is displayed when the component is empty.
|
|
197
|
+
*/
|
|
198
|
+
placeholder;
|
|
199
|
+
/**
|
|
200
|
+
* Specifies the maximum length of the TextBox value.
|
|
201
|
+
*/
|
|
202
|
+
maxlength;
|
|
286
203
|
/**
|
|
287
204
|
* Sets the HTML attributes of the inner focusable input element. Attributes which are essential for certain component functionalities cannot be changed.
|
|
288
205
|
*/
|
|
@@ -299,9 +216,115 @@ export class TextBoxComponent {
|
|
|
299
216
|
get inputAttributes() {
|
|
300
217
|
return this._inputAttributes;
|
|
301
218
|
}
|
|
219
|
+
/**
|
|
220
|
+
* Fires each time the value is changed—
|
|
221
|
+
* when the component is blurred or the value is cleared through the **Clear** button
|
|
222
|
+
* ([see example](slug:events_textbox)).
|
|
223
|
+
* When the value of the component is programmatically changed to `ngModel` or `formControl`
|
|
224
|
+
* through its API or form binding, the `valueChange` event is not triggered because it
|
|
225
|
+
* might cause a mix-up with the built-in `valueChange` mechanisms of the `ngModel` or `formControl` bindings.
|
|
226
|
+
*/
|
|
227
|
+
valueChange = new EventEmitter();
|
|
228
|
+
/**
|
|
229
|
+
* Fires each time the user focuses the `input` element.
|
|
230
|
+
*/
|
|
231
|
+
inputFocus = new EventEmitter();
|
|
232
|
+
/**
|
|
233
|
+
* Fires each time the `input` element gets blurred.
|
|
234
|
+
*/
|
|
235
|
+
inputBlur = new EventEmitter();
|
|
236
|
+
/**
|
|
237
|
+
* Fires each time the user focuses the TextBox component.
|
|
238
|
+
*
|
|
239
|
+
* > To wire the event programmatically, use the `onFocus` property.
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```ts-no-run
|
|
243
|
+
* _@Component({
|
|
244
|
+
* selector: 'my-app',
|
|
245
|
+
* template: `
|
|
246
|
+
* <kendo-textbox (focus)="handleFocus()"></kendo-textbox>
|
|
247
|
+
* `
|
|
248
|
+
* })
|
|
249
|
+
* class AppComponent {
|
|
250
|
+
* public handleFocus(): void {
|
|
251
|
+
* console.log('Component is focused.');
|
|
252
|
+
* }
|
|
253
|
+
* }
|
|
254
|
+
* ```
|
|
255
|
+
*/
|
|
256
|
+
onFocus = new EventEmitter();
|
|
257
|
+
/**
|
|
258
|
+
* Fires each time the TextBox component gets blurred.
|
|
259
|
+
*
|
|
260
|
+
* > To wire the event programmatically, use the `onBlur` property.
|
|
261
|
+
*
|
|
262
|
+
* @example
|
|
263
|
+
* ```ts-no-run
|
|
264
|
+
* _@Component({
|
|
265
|
+
* selector: 'my-app',
|
|
266
|
+
* template: `
|
|
267
|
+
* <kendo-textbox (blur)="handleBlur()"></kendo-textbox>
|
|
268
|
+
* `
|
|
269
|
+
* })
|
|
270
|
+
* class AppComponent {
|
|
271
|
+
* public handleBlur(): void {
|
|
272
|
+
* console.log('Component is blurred');
|
|
273
|
+
* }
|
|
274
|
+
* }
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
277
|
+
onBlur = new EventEmitter();
|
|
278
|
+
/**
|
|
279
|
+
* Represents the visible `input` element of the TextBox.
|
|
280
|
+
*/
|
|
281
|
+
input;
|
|
282
|
+
/**
|
|
283
|
+
* @hidden
|
|
284
|
+
*/
|
|
285
|
+
textBoxSuffixTemplate;
|
|
286
|
+
/**
|
|
287
|
+
* @hidden
|
|
288
|
+
*/
|
|
289
|
+
textBoxPrefixTemplate;
|
|
290
|
+
/**
|
|
291
|
+
* @hidden
|
|
292
|
+
*/
|
|
293
|
+
suffixTemplate;
|
|
294
|
+
/**
|
|
295
|
+
* @hidden
|
|
296
|
+
*/
|
|
297
|
+
prefixTemplate;
|
|
302
298
|
get disabledClass() {
|
|
303
299
|
return this.disabled;
|
|
304
300
|
}
|
|
301
|
+
hostClasses = true;
|
|
302
|
+
direction;
|
|
303
|
+
/**
|
|
304
|
+
* @hidden
|
|
305
|
+
*/
|
|
306
|
+
showClearButton;
|
|
307
|
+
/**
|
|
308
|
+
* @hidden
|
|
309
|
+
*/
|
|
310
|
+
clearButtonClicked;
|
|
311
|
+
/**
|
|
312
|
+
* @hidden
|
|
313
|
+
*/
|
|
314
|
+
suffix;
|
|
315
|
+
/**
|
|
316
|
+
* @hidden
|
|
317
|
+
*/
|
|
318
|
+
prefix;
|
|
319
|
+
control;
|
|
320
|
+
subscriptions;
|
|
321
|
+
_isFocused = false;
|
|
322
|
+
focusChangedProgrammatically = false;
|
|
323
|
+
_inputAttributes;
|
|
324
|
+
_size = 'medium';
|
|
325
|
+
_rounded = 'medium';
|
|
326
|
+
_fillMode = 'solid';
|
|
327
|
+
parsedAttributes = {};
|
|
305
328
|
get defaultAttributes() {
|
|
306
329
|
return {
|
|
307
330
|
id: this.focusableId,
|
|
@@ -316,6 +339,16 @@ export class TextBoxComponent {
|
|
|
316
339
|
required: this.isControlRequired ? '' : null
|
|
317
340
|
};
|
|
318
341
|
}
|
|
342
|
+
constructor(localizationService, ngZone, changeDetector, renderer, injector, hostElement) {
|
|
343
|
+
this.localizationService = localizationService;
|
|
344
|
+
this.ngZone = ngZone;
|
|
345
|
+
this.changeDetector = changeDetector;
|
|
346
|
+
this.renderer = renderer;
|
|
347
|
+
this.injector = injector;
|
|
348
|
+
this.hostElement = hostElement;
|
|
349
|
+
validatePackage(packageMetadata);
|
|
350
|
+
this.direction = localizationService.rtl ? 'rtl' : 'ltr';
|
|
351
|
+
}
|
|
319
352
|
ngOnInit() {
|
|
320
353
|
this.control = this.injector.get(NgControl, null);
|
|
321
354
|
this.checkClearButton();
|
|
@@ -386,6 +419,53 @@ export class TextBoxComponent {
|
|
|
386
419
|
this.isFocused = false;
|
|
387
420
|
this.focusChangedProgrammatically = false;
|
|
388
421
|
}
|
|
422
|
+
/**
|
|
423
|
+
* @hidden
|
|
424
|
+
*/
|
|
425
|
+
handleInputFocus = () => {
|
|
426
|
+
if (!this.disabled) {
|
|
427
|
+
if (this.selectOnFocus && this.value) {
|
|
428
|
+
this.ngZone.run(() => {
|
|
429
|
+
setTimeout(() => { this.selectAll(); });
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
if (!this.isFocused) {
|
|
433
|
+
this.handleFocus();
|
|
434
|
+
}
|
|
435
|
+
if (hasObservers(this.inputFocus)) {
|
|
436
|
+
if (!this.focusChangedProgrammatically || (this.focusChangedProgrammatically && this.clearButtonClicked)) {
|
|
437
|
+
this.ngZone.run(() => {
|
|
438
|
+
this.inputFocus.emit();
|
|
439
|
+
});
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* @hidden
|
|
446
|
+
*/
|
|
447
|
+
handleInputBlur = () => {
|
|
448
|
+
this.changeDetector.markForCheck();
|
|
449
|
+
if (hasObservers(this.inputBlur) || requiresZoneOnBlur(this.control)) {
|
|
450
|
+
this.ngZone.run(() => {
|
|
451
|
+
this.ngTouched();
|
|
452
|
+
this.inputBlur.emit();
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
};
|
|
456
|
+
/**
|
|
457
|
+
* @hidden
|
|
458
|
+
*/
|
|
459
|
+
handleInput = (ev) => {
|
|
460
|
+
const target = ev.target;
|
|
461
|
+
const isBrowserSafari = isSafari(navigator.userAgent);
|
|
462
|
+
const incomingValue = isBrowserSafari && isJapanese(target.value) ? ev.data : target.value;
|
|
463
|
+
const [caretStart, caretEnd] = [target.selectionStart, target.selectionEnd];
|
|
464
|
+
this.updateValue(incomingValue);
|
|
465
|
+
if (isBrowserSafari) {
|
|
466
|
+
target.setSelectionRange(caretStart, caretEnd);
|
|
467
|
+
}
|
|
468
|
+
};
|
|
389
469
|
/**
|
|
390
470
|
* @hidden
|
|
391
471
|
*/
|
|
@@ -563,6 +643,8 @@ export class TextBoxComponent {
|
|
|
563
643
|
get isControlRequired() {
|
|
564
644
|
return isControlRequired(this.control?.control);
|
|
565
645
|
}
|
|
646
|
+
ngChange = (_) => { };
|
|
647
|
+
ngTouched = () => { };
|
|
566
648
|
setSelection(start, end) {
|
|
567
649
|
if (this.isFocused) {
|
|
568
650
|
invokeElementMethod(this.input, 'setSelectionRange', start, end);
|
|
@@ -623,18 +705,17 @@ export class TextBoxComponent {
|
|
|
623
705
|
setInputAttributes() {
|
|
624
706
|
setHTMLAttributes(this.parsedAttributes, this.renderer, this.input.nativeElement, this.ngZone);
|
|
625
707
|
}
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
{
|
|
637
|
-
], queries: [{ propertyName: "suffixTemplate", first: true, predicate: SuffixTemplateDirective, descendants: true }, { propertyName: "prefixTemplate", first: true, predicate: PrefixTemplateDirective, descendants: true }, { propertyName: "textBoxSuffixTemplate", predicate: TextBoxSuffixTemplateDirective }, { propertyName: "textBoxPrefixTemplate", predicate: TextBoxPrefixTemplateDirective }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], exportAs: ["kendoTextBox"], usesOnChanges: true, ngImport: i0, template: `
|
|
708
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextBoxComponent, deps: [{ token: i1.LocalizationService }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
709
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextBoxComponent, isStandalone: true, selector: "kendo-textbox", inputs: { focusableId: "focusableId", title: "title", type: "type", disabled: "disabled", readonly: "readonly", tabindex: "tabindex", value: "value", selectOnFocus: "selectOnFocus", showSuccessIcon: "showSuccessIcon", showErrorIcon: "showErrorIcon", clearButton: "clearButton", successIcon: "successIcon", successSvgIcon: "successSvgIcon", errorIcon: "errorIcon", errorSvgIcon: "errorSvgIcon", clearButtonIcon: "clearButtonIcon", clearButtonSvgIcon: "clearButtonSvgIcon", size: "size", rounded: "rounded", fillMode: "fillMode", tabIndex: "tabIndex", placeholder: "placeholder", maxlength: "maxlength", inputAttributes: "inputAttributes" }, outputs: { valueChange: "valueChange", inputFocus: "inputFocus", inputBlur: "inputBlur", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-disabled": "this.disabledClass", "class.k-textbox": "this.hostClasses", "class.k-input": "this.hostClasses", "attr.dir": "this.direction" } }, providers: [
|
|
710
|
+
LocalizationService,
|
|
711
|
+
{ provide: L10N_PREFIX, useValue: 'kendo.textbox' },
|
|
712
|
+
{
|
|
713
|
+
provide: NG_VALUE_ACCESSOR,
|
|
714
|
+
useExisting: forwardRef(() => TextBoxComponent),
|
|
715
|
+
multi: true
|
|
716
|
+
},
|
|
717
|
+
{ provide: KendoInput, useExisting: forwardRef(() => TextBoxComponent) }
|
|
718
|
+
], queries: [{ propertyName: "suffixTemplate", first: true, predicate: SuffixTemplateDirective, descendants: true }, { propertyName: "prefixTemplate", first: true, predicate: PrefixTemplateDirective, descendants: true }, { propertyName: "textBoxSuffixTemplate", predicate: TextBoxSuffixTemplateDirective }, { propertyName: "textBoxPrefixTemplate", predicate: TextBoxPrefixTemplateDirective }], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], exportAs: ["kendoTextBox"], usesOnChanges: true, ngImport: i0, template: `
|
|
638
719
|
<ng-container kendoTextBoxLocalizedMessages
|
|
639
720
|
i18n-clear="kendo.textbox.clear|The title for the **Clear** button in the TextBox."
|
|
640
721
|
clear="Clear">
|
|
@@ -711,7 +792,8 @@ TextBoxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versi
|
|
|
711
792
|
</span>
|
|
712
793
|
<ng-container>
|
|
713
794
|
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedTextBoxMessagesDirective, selector: "[kendoTextBoxLocalizedMessages]" }, { kind: "directive", type: SharedInputEventsDirective, selector: "[kendoInputSharedEvents]", inputs: ["hostElement", "clearButtonClicked", "isFocused"], outputs: ["isFocusedChange", "onFocus", "handleBlur"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InputSeparatorComponent, selector: "kendo-input-separator, kendo-textbox-separator", inputs: ["orientation"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
714
|
-
|
|
795
|
+
}
|
|
796
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextBoxComponent, decorators: [{
|
|
715
797
|
type: Component,
|
|
716
798
|
args: [{
|
|
717
799
|
exportAs: 'kendoTextBox',
|
|
@@ -17,33 +17,30 @@ import * as i0 from "@angular/core";
|
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
export class TextBoxDirective {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
this.autoFillEnd = new EventEmitter();
|
|
45
|
-
this.listeners = [];
|
|
46
|
-
}
|
|
20
|
+
renderer;
|
|
21
|
+
inputElement;
|
|
22
|
+
ngZone;
|
|
23
|
+
hostClasses = true;
|
|
24
|
+
/**
|
|
25
|
+
* @hidden
|
|
26
|
+
*/
|
|
27
|
+
onFocus = new EventEmitter();
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
onBlur = new EventEmitter();
|
|
32
|
+
/**
|
|
33
|
+
* @hidden
|
|
34
|
+
*/
|
|
35
|
+
onValueChange = new EventEmitter();
|
|
36
|
+
/**
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
autoFillStart = new EventEmitter();
|
|
40
|
+
/**
|
|
41
|
+
* @hidden
|
|
42
|
+
*/
|
|
43
|
+
autoFillEnd = new EventEmitter();
|
|
47
44
|
/**
|
|
48
45
|
* @hidden
|
|
49
46
|
*/
|
|
@@ -66,6 +63,12 @@ export class TextBoxDirective {
|
|
|
66
63
|
set id(id) {
|
|
67
64
|
this.renderer.setAttribute(this.inputElement.nativeElement, 'id', id);
|
|
68
65
|
}
|
|
66
|
+
listeners = [];
|
|
67
|
+
constructor(renderer, inputElement, ngZone) {
|
|
68
|
+
this.renderer = renderer;
|
|
69
|
+
this.inputElement = inputElement;
|
|
70
|
+
this.ngZone = ngZone;
|
|
71
|
+
}
|
|
69
72
|
ngAfterViewInit() {
|
|
70
73
|
const input = this.inputElement.nativeElement;
|
|
71
74
|
this.listeners = [
|
|
@@ -86,13 +89,13 @@ export class TextBoxDirective {
|
|
|
86
89
|
ngOnDestroy() {
|
|
87
90
|
this.listeners.forEach(listener => listener());
|
|
88
91
|
}
|
|
92
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextBoxDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
|
|
93
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TextBoxDirective, isStandalone: true, selector: "input[kendoTextBox]", inputs: { value: "value" }, host: { properties: { "class.k-textbox": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-input-md": "this.hostClasses", "class.k-rounded-md": "this.hostClasses", "class.k-input-solid": "this.hostClasses" } }, providers: [{
|
|
94
|
+
provide: KendoInput,
|
|
95
|
+
useExisting: forwardRef(() => TextBoxDirective)
|
|
96
|
+
}], ngImport: i0 });
|
|
89
97
|
}
|
|
90
|
-
|
|
91
|
-
TextBoxDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: TextBoxDirective, isStandalone: true, selector: "input[kendoTextBox]", inputs: { value: "value" }, host: { properties: { "class.k-textbox": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-input-md": "this.hostClasses", "class.k-rounded-md": "this.hostClasses", "class.k-input-solid": "this.hostClasses" } }, providers: [{
|
|
92
|
-
provide: KendoInput,
|
|
93
|
-
useExisting: forwardRef(() => TextBoxDirective)
|
|
94
|
-
}], ngImport: i0 });
|
|
95
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TextBoxDirective, decorators: [{
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextBoxDirective, decorators: [{
|
|
96
99
|
type: Directive,
|
|
97
100
|
args: [{
|
|
98
101
|
selector: 'input[kendoTextBox]',
|