@progress/kendo-angular-inputs 15.5.0-develop.12 → 15.5.0-develop.13

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.
@@ -0,0 +1,278 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Input, Component, Renderer2, Output, EventEmitter, ViewChild, ElementRef, Injector, ChangeDetectorRef, NgZone, Inject } from '@angular/core';
6
+ import { NgControl } from '@angular/forms';
7
+ import { guid, hasObservers, isControlRequired, isObjectPresent, isPresent, parseAttributes, removeHTMLAttributes, setHTMLAttributes } from '@progress/kendo-angular-common';
8
+ import { COMPONENT_TYPE, getStylingClasses, requiresZoneOnBlur } from './utils';
9
+ import * as i0 from "@angular/core";
10
+ const FOCUSED = 'k-focus';
11
+ const DEFAULT_SIZE = 'medium';
12
+ /**
13
+ * @hidden
14
+ */
15
+ export class RadioCheckBoxBase {
16
+ constructor(componentType, hostElement, renderer, cdr, ngZone, injector) {
17
+ this.componentType = componentType;
18
+ this.hostElement = hostElement;
19
+ this.renderer = renderer;
20
+ this.cdr = cdr;
21
+ this.ngZone = ngZone;
22
+ this.injector = injector;
23
+ /**
24
+ * @hidden
25
+ */
26
+ this.focusableId = `k-${guid()}`;
27
+ /**
28
+ * Sets the disabled state of the component.
29
+ *
30
+ * @default false
31
+ */
32
+ this.disabled = false;
33
+ /**
34
+ * Specifies the `tabindex` of the component.
35
+ *
36
+ * @default 0
37
+ */
38
+ this.tabindex = 0;
39
+ /**
40
+ * Fires each time the user focuses the component.
41
+ *
42
+ * > To wire the event programmatically, use the `onFocus` property.
43
+ */
44
+ this.onFocus = new EventEmitter();
45
+ /**
46
+ * Fires each time the component gets blurred.
47
+ *
48
+ * > To wire the event programmatically, use the `onBlur` property.
49
+ */
50
+ this.onBlur = new EventEmitter();
51
+ /**
52
+ * @hidden
53
+ */
54
+ this.handleInputBlur = () => {
55
+ this.cdr.markForCheck();
56
+ if (requiresZoneOnBlur(this.control)) {
57
+ this.ngZone.run(() => {
58
+ this.ngTouched();
59
+ });
60
+ }
61
+ };
62
+ this.focusChangedProgrammatically = false;
63
+ this.parsedAttributes = {};
64
+ this.ngChange = (_) => { };
65
+ this.ngTouched = () => { };
66
+ this._isFocused = false;
67
+ this._size = DEFAULT_SIZE;
68
+ }
69
+ /**
70
+ * @hidden
71
+ */
72
+ set tabIndex(tabIndex) {
73
+ this.tabindex = tabIndex;
74
+ }
75
+ get tabIndex() {
76
+ return this.tabindex;
77
+ }
78
+ /**
79
+ * The size property specifies the width and height of the component.
80
+ *
81
+ * @default 'medium'
82
+ *
83
+ * The possible values are:
84
+ * * `small`
85
+ * * `medium`
86
+ * * `large`
87
+ * * `none`
88
+ */
89
+ set size(size) {
90
+ const newSize = size ? size : DEFAULT_SIZE;
91
+ this.handleClasses(newSize, 'size');
92
+ this._size = newSize;
93
+ }
94
+ get size() {
95
+ return this._size;
96
+ }
97
+ /**
98
+ * Sets the HTML attributes of the inner focusable input element. Attributes which are essential for certain component functionalities cannot be changed.
99
+ */
100
+ set inputAttributes(attributes) {
101
+ if (isObjectPresent(this.parsedAttributes)) {
102
+ removeHTMLAttributes(this.parsedAttributes, this.renderer, this.input.nativeElement);
103
+ }
104
+ this._inputAttributes = attributes;
105
+ this.parsedAttributes = this.inputAttributes ?
106
+ parseAttributes(this.inputAttributes, this.defaultAttributes) :
107
+ this.inputAttributes;
108
+ this.setInputAttributes();
109
+ }
110
+ get inputAttributes() {
111
+ return this._inputAttributes;
112
+ }
113
+ ngOnInit() {
114
+ this.control = this.injector.get(NgControl, null);
115
+ }
116
+ /**
117
+ * Focuses the component.
118
+ */
119
+ focus() {
120
+ if (!this.input) {
121
+ return;
122
+ }
123
+ this.focusChangedProgrammatically = true;
124
+ this.isFocused = true;
125
+ this.input.nativeElement.focus();
126
+ this.focusChangedProgrammatically = false;
127
+ }
128
+ /**
129
+ * Blurs the component.
130
+ */
131
+ blur() {
132
+ this.focusChangedProgrammatically = true;
133
+ const isFocusedElement = this.hostElement.nativeElement.querySelector(':focus');
134
+ if (isFocusedElement) {
135
+ isFocusedElement.blur();
136
+ }
137
+ this.isFocused = false;
138
+ this.focusChangedProgrammatically = false;
139
+ }
140
+ /**
141
+ * @hidden
142
+ */
143
+ handleFocus() {
144
+ this.ngZone.run(() => {
145
+ if (!this.focusChangedProgrammatically && hasObservers(this.onFocus)) {
146
+ this.onFocus.emit();
147
+ }
148
+ this.isFocused = true;
149
+ });
150
+ }
151
+ /**
152
+ * @hidden
153
+ */
154
+ handleBlur() {
155
+ this.ngZone.run(() => {
156
+ if (!this.focusChangedProgrammatically) {
157
+ this.ngTouched();
158
+ this.onBlur.emit();
159
+ }
160
+ this.isFocused = false;
161
+ });
162
+ }
163
+ /**
164
+ * @hidden
165
+ */
166
+ registerOnChange(fn) {
167
+ this.ngChange = fn;
168
+ }
169
+ /**
170
+ * @hidden
171
+ */
172
+ registerOnTouched(fn) {
173
+ this.ngTouched = fn;
174
+ }
175
+ /**
176
+ * @hidden
177
+ */
178
+ get isControlRequired() {
179
+ return isControlRequired(this.control?.control);
180
+ }
181
+ /**
182
+ * @hidden
183
+ */
184
+ get isControlInvalid() {
185
+ return this.control && this.control.touched && !this.control.valid;
186
+ }
187
+ /**
188
+ * @hidden
189
+ */
190
+ get isFocused() {
191
+ return this._isFocused;
192
+ }
193
+ /**
194
+ * @hidden
195
+ */
196
+ set isFocused(value) {
197
+ if (this._isFocused !== value && this.input) {
198
+ const element = this.input.nativeElement;
199
+ if (value && !this.disabled) {
200
+ this.renderer.addClass(element, FOCUSED);
201
+ }
202
+ else {
203
+ this.renderer.removeClass(element, FOCUSED);
204
+ }
205
+ this._isFocused = value;
206
+ }
207
+ }
208
+ /**
209
+ * @hidden
210
+ * Called when the status of the component changes to or from `disabled`.
211
+ * Depending on the value, it enables or disables the appropriate DOM element.
212
+ *
213
+ * @param isDisabled
214
+ */
215
+ setDisabledState(isDisabled) {
216
+ this.cdr.markForCheck();
217
+ this.disabled = isDisabled;
218
+ }
219
+ get defaultAttributes() { return; }
220
+ /**
221
+ * @hidden
222
+ */
223
+ writeValue(_value) { }
224
+ handleClasses(value, input) {
225
+ if (!isPresent(this.input)) {
226
+ return;
227
+ }
228
+ const inputElem = this.input.nativeElement;
229
+ const classes = getStylingClasses(this.componentType, input, this[input], value);
230
+ if (classes.toRemove) {
231
+ this.renderer.removeClass(inputElem, classes.toRemove);
232
+ }
233
+ if (classes.toAdd) {
234
+ this.renderer.addClass(inputElem, classes.toAdd);
235
+ }
236
+ }
237
+ setInputAttributes() {
238
+ setHTMLAttributes(this.parsedAttributes, this.renderer, this.input.nativeElement);
239
+ }
240
+ }
241
+ RadioCheckBoxBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioCheckBoxBase, deps: [{ token: COMPONENT_TYPE }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
242
+ RadioCheckBoxBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: RadioCheckBoxBase, selector: "ng-component", inputs: { focusableId: "focusableId", title: "title", name: "name", disabled: "disabled", tabindex: "tabindex", tabIndex: "tabIndex", value: "value", size: "size", inputAttributes: "inputAttributes" }, outputs: { onFocus: "focus", onBlur: "blur" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: '', isInline: true });
243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioCheckBoxBase, decorators: [{
244
+ type: Component,
245
+ args: [{
246
+ template: ''
247
+ }]
248
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
249
+ type: Inject,
250
+ args: [COMPONENT_TYPE]
251
+ }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Injector }]; }, propDecorators: { focusableId: [{
252
+ type: Input
253
+ }], title: [{
254
+ type: Input
255
+ }], name: [{
256
+ type: Input
257
+ }], disabled: [{
258
+ type: Input
259
+ }], tabindex: [{
260
+ type: Input
261
+ }], tabIndex: [{
262
+ type: Input
263
+ }], value: [{
264
+ type: Input
265
+ }], size: [{
266
+ type: Input
267
+ }], inputAttributes: [{
268
+ type: Input
269
+ }], onFocus: [{
270
+ type: Output,
271
+ args: ['focus']
272
+ }], onBlur: [{
273
+ type: Output,
274
+ args: ['blur']
275
+ }], input: [{
276
+ type: ViewChild,
277
+ args: ['input', { static: true }]
278
+ }] } });
@@ -2,6 +2,7 @@
2
2
  * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { InjectionToken } from "@angular/core";
5
6
  /**
6
7
  * @hidden
7
8
  *
@@ -79,3 +80,9 @@ export const getStylingClasses = (componentType, stylingOption, previousValue, n
79
80
  break;
80
81
  }
81
82
  };
83
+ /**
84
+ * @hidden
85
+ *
86
+ * Used to differentiate between the Radio and CheckBox components in their base class.
87
+ */
88
+ export const COMPONENT_TYPE = new InjectionToken('TYPE_TOKEN');
package/esm2020/index.mjs CHANGED
@@ -42,6 +42,10 @@ export { FormFieldModule } from './formfield.module';
42
42
  export { TextBoxComponent } from './textbox/textbox.component';
43
43
  export { TextBoxPrefixTemplateDirective } from './textbox/textbox-prefix.directive';
44
44
  export { TextBoxSuffixTemplateDirective } from './textbox/textbox-suffix.directive';
45
+ //CheckBox Component
46
+ export { CheckBoxComponent } from './checkbox/checkbox.component';
47
+ //RadioButton Component
48
+ export { RadioButtonComponent } from './radiobutton/radiobutton.component';
45
49
  //TextArea Component
46
50
  export { TextAreaComponent } from './textarea/textarea.component';
47
51
  export { TextAreaPrefixComponent } from './textarea/textarea-prefix.component';
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-inputs',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1713254860,
13
- version: '15.5.0-develop.12',
12
+ publishDate: 1713265586,
13
+ version: '15.5.0-develop.13',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -0,0 +1,192 @@
1
+ /**-----------------------------------------------------------------------------------------
2
+ * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
+ * Licensed under commercial license. See LICENSE.md in the project root for more information
4
+ *-------------------------------------------------------------------------------------------*/
5
+ import { Component, ElementRef, forwardRef, Input, HostBinding, Renderer2, Output, EventEmitter, ChangeDetectorRef, NgZone, Injector } from '@angular/core';
6
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
+ import { KendoInput } from '@progress/kendo-angular-common';
8
+ import { validatePackage } from '@progress/kendo-licensing';
9
+ import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
10
+ import { packageMetadata } from '../package-metadata';
11
+ import { Subscription } from 'rxjs';
12
+ import { RadioCheckBoxBase } from '../common/radio-checkbox.base';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@progress/kendo-angular-l10n";
15
+ import * as i2 from "../shared/shared-events.directive";
16
+ import * as i3 from "@progress/kendo-angular-common";
17
+ export class RadioButtonComponent extends RadioCheckBoxBase {
18
+ constructor(renderer, hostElement, cdr, ngZone, injector, localizationService) {
19
+ super('radio', hostElement, renderer, cdr, ngZone, injector);
20
+ this.renderer = renderer;
21
+ this.hostElement = hostElement;
22
+ this.cdr = cdr;
23
+ this.ngZone = ngZone;
24
+ this.injector = injector;
25
+ this.localizationService = localizationService;
26
+ this.hostClass = true;
27
+ /**
28
+ * Specifies the checked state of the RadioButton.
29
+ *
30
+ * @default false
31
+ */
32
+ this.checked = false;
33
+ /**
34
+ * Fires each time the checked state is changed.
35
+ * When the state of the component is programmatically changed to `ngModel` or `formControl`
36
+ * through its API or form binding, the `checkedStateChange` event is not triggered because it
37
+ * might cause a mix-up with the built-in mechanisms of the `ngModel` or `formControl` bindings.
38
+ *
39
+ * Used to provide a two-way binding for the `checked` property.
40
+ */
41
+ this.checkedChange = new EventEmitter();
42
+ this.subs = new Subscription();
43
+ /**
44
+ * @hidden
45
+ */
46
+ this.handleChange = ($event) => {
47
+ this.ngZone.run(() => {
48
+ this.checked = $event.target.checked;
49
+ this.checkedChange.emit(this.checked);
50
+ this.ngChange($event.target.value);
51
+ });
52
+ };
53
+ validatePackage(packageMetadata);
54
+ this.direction = localizationService.rtl ? 'rtl' : 'ltr';
55
+ }
56
+ get defaultAttributes() {
57
+ return {
58
+ type: 'radio',
59
+ id: this.focusableId,
60
+ title: this.title,
61
+ tabindex: this.tabindex,
62
+ tabIndex: this.tabindex,
63
+ disabled: this.disabled ? '' : null,
64
+ value: this.value,
65
+ checked: this.checked,
66
+ name: this.name,
67
+ 'aria-invalid': this.isControlInvalid
68
+ };
69
+ }
70
+ ngOnInit() {
71
+ super.ngOnInit();
72
+ this.subs.add(this.localizationService.changes.subscribe(({ rtl }) => {
73
+ this.direction = rtl ? 'rtl' : 'ltr';
74
+ }));
75
+ }
76
+ ngAfterViewInit() {
77
+ const stylingInputs = ['size'];
78
+ stylingInputs.forEach(input => {
79
+ this.handleClasses(this[input], input);
80
+ });
81
+ // Otherwise the view is not updated in Reactive Forms - https://github.com/angular/angular/issues/13792
82
+ if (this.control) {
83
+ this.subs.add(this.control.valueChanges.subscribe(e => {
84
+ this.control.control.setValue(e, { emitEvent: false });
85
+ }));
86
+ }
87
+ }
88
+ ngOnDestroy() {
89
+ this.subs.unsubscribe();
90
+ }
91
+ /**
92
+ * @hidden
93
+ */
94
+ writeValue(value) {
95
+ this.checked = value === this.value;
96
+ }
97
+ }
98
+ RadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioButtonComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.NgZone }, { token: i0.Injector }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
99
+ RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: RadioButtonComponent, selector: "kendo-radiobutton", inputs: { checked: "checked" }, outputs: { checkedChange: "checkedChange" }, host: { properties: { "class.k-radio-wrap": "this.hostClass", "attr.dir": "this.direction" } }, providers: [
100
+ LocalizationService,
101
+ { provide: L10N_PREFIX, useValue: 'kendo.radiobutton' },
102
+ {
103
+ provide: NG_VALUE_ACCESSOR,
104
+ useExisting: forwardRef(() => RadioButtonComponent),
105
+ multi: true
106
+ },
107
+ { provide: KendoInput, useExisting: forwardRef(() => RadioButtonComponent) }
108
+ ], exportAs: ["kendoRadioButton"], usesInheritance: true, ngImport: i0, template: `
109
+ <ng-container
110
+ kendoInputSharedEvents
111
+ [hostElement]="hostElement"
112
+ [(isFocused)]="isFocused"
113
+ (handleBlur)="handleBlur()"
114
+ (onFocus)="handleFocus()"
115
+ >
116
+ <input #input
117
+ type="radio"
118
+ class="k-radio"
119
+ [id]="focusableId"
120
+ [attr.title]="title"
121
+ [disabled]="disabled"
122
+ [class.k-disabled]="disabled"
123
+ [attr.tabindex]="disabled ? undefined : tabindex"
124
+ [value]="value"
125
+ [name]="name"
126
+ [checked]="checked"
127
+ [class.k-checked]="checked"
128
+ [attr.aria-invalid]="isControlInvalid"
129
+ [attr.required]="isControlRequired ? '' : null"
130
+ [kendoEventsOutsideAngular]="{
131
+ blur: handleInputBlur,
132
+ change: handleChange
133
+ }"
134
+ />
135
+ </ng-container>
136
+ `, isInline: true, directives: [{ type: i2.SharedInputEventsDirective, selector: "[kendoInputSharedEvents]", inputs: ["hostElement", "clearButtonClicked", "isFocused"], outputs: ["isFocusedChange", "onFocus", "handleBlur"] }, { type: i3.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }] });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioButtonComponent, decorators: [{
138
+ type: Component,
139
+ args: [{
140
+ exportAs: 'kendoRadioButton',
141
+ providers: [
142
+ LocalizationService,
143
+ { provide: L10N_PREFIX, useValue: 'kendo.radiobutton' },
144
+ {
145
+ provide: NG_VALUE_ACCESSOR,
146
+ useExisting: forwardRef(() => RadioButtonComponent),
147
+ multi: true
148
+ },
149
+ { provide: KendoInput, useExisting: forwardRef(() => RadioButtonComponent) }
150
+ ],
151
+ selector: 'kendo-radiobutton',
152
+ template: `
153
+ <ng-container
154
+ kendoInputSharedEvents
155
+ [hostElement]="hostElement"
156
+ [(isFocused)]="isFocused"
157
+ (handleBlur)="handleBlur()"
158
+ (onFocus)="handleFocus()"
159
+ >
160
+ <input #input
161
+ type="radio"
162
+ class="k-radio"
163
+ [id]="focusableId"
164
+ [attr.title]="title"
165
+ [disabled]="disabled"
166
+ [class.k-disabled]="disabled"
167
+ [attr.tabindex]="disabled ? undefined : tabindex"
168
+ [value]="value"
169
+ [name]="name"
170
+ [checked]="checked"
171
+ [class.k-checked]="checked"
172
+ [attr.aria-invalid]="isControlInvalid"
173
+ [attr.required]="isControlRequired ? '' : null"
174
+ [kendoEventsOutsideAngular]="{
175
+ blur: handleInputBlur,
176
+ change: handleChange
177
+ }"
178
+ />
179
+ </ng-container>
180
+ `
181
+ }]
182
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.NgZone }, { type: i0.Injector }, { type: i1.LocalizationService }]; }, propDecorators: { hostClass: [{
183
+ type: HostBinding,
184
+ args: ['class.k-radio-wrap']
185
+ }], direction: [{
186
+ type: HostBinding,
187
+ args: ['attr.dir']
188
+ }], checked: [{
189
+ type: Input
190
+ }], checkedChange: [{
191
+ type: Output
192
+ }] } });
@@ -2,13 +2,16 @@
2
2
  * Copyright © 2024 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
+ import { EventsModule } from '@progress/kendo-angular-common';
5
6
  import { NgModule } from '@angular/core';
6
7
  import { RadioButtonDirective } from './radiobutton/radiobutton.directive';
7
8
  import { CommonModule } from '@angular/common';
9
+ import { RadioButtonComponent } from './radiobutton/radiobutton.component';
10
+ import { SharedEventsModule } from './shared-events.module';
8
11
  import * as i0 from "@angular/core";
9
12
  /**
10
13
  * Represents the [NgModule](link:site.data.urls.angular['ngmoduleapi'])
11
- * definition for the RadioButton directive.
14
+ * definition for the RadioButton directive and RadioButtonComponent.
12
15
  *
13
16
  * @example
14
17
  *
@@ -40,13 +43,13 @@ import * as i0 from "@angular/core";
40
43
  export class RadioButtonModule {
41
44
  }
42
45
  RadioButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
43
- RadioButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioButtonModule, declarations: [RadioButtonDirective], imports: [CommonModule], exports: [RadioButtonDirective] });
44
- RadioButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioButtonModule, imports: [[CommonModule]] });
46
+ RadioButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioButtonModule, declarations: [RadioButtonDirective, RadioButtonComponent], imports: [CommonModule, EventsModule, SharedEventsModule], exports: [RadioButtonDirective, RadioButtonComponent] });
47
+ RadioButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioButtonModule, imports: [[CommonModule, EventsModule, SharedEventsModule]] });
45
48
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: RadioButtonModule, decorators: [{
46
49
  type: NgModule,
47
50
  args: [{
48
- declarations: [RadioButtonDirective],
49
- exports: [RadioButtonDirective],
50
- imports: [CommonModule]
51
+ declarations: [RadioButtonDirective, RadioButtonComponent],
52
+ exports: [RadioButtonDirective, RadioButtonComponent],
53
+ imports: [CommonModule, EventsModule, SharedEventsModule]
51
54
  }]
52
55
  }] });
@@ -95,7 +95,7 @@ export class TextAreaComponent extends TextFieldsBase {
95
95
  * })
96
96
  * class AppComponent {
97
97
  * public handleFocus(): void {
98
- * console.log('Component is focused');
98
+ * console.log('Component is focused.');
99
99
  * }
100
100
  * }
101
101
  * ```
@@ -138,7 +138,7 @@ export class TextBoxComponent {
138
138
  * })
139
139
  * class AppComponent {
140
140
  * public handleFocus(): void {
141
- * console.log('Component is isFocused');
141
+ * console.log('Component is focused.');
142
142
  * }
143
143
  * }
144
144
  * ```