@skyux/forms 10.7.0 → 10.9.0

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 (33) hide show
  1. package/documentation.json +4045 -2940
  2. package/esm2022/index.mjs +2 -1
  3. package/esm2022/lib/modules/checkbox/checkbox-group.component.mjs +20 -5
  4. package/esm2022/lib/modules/checkbox/checkbox-label-text-label.component.mjs +3 -3
  5. package/esm2022/lib/modules/checkbox/checkbox.component.mjs +27 -7
  6. package/esm2022/lib/modules/checkbox/checkbox.module.mjs +9 -2
  7. package/esm2022/lib/modules/field-group/field-group.component.mjs +14 -3
  8. package/esm2022/lib/modules/file-attachment/file-attachment.component.mjs +19 -5
  9. package/esm2022/lib/modules/file-attachment/file-drop.component.mjs +19 -5
  10. package/esm2022/lib/modules/input-box/input-box.component.mjs +14 -2
  11. package/esm2022/lib/modules/radio/radio-group.component.mjs +23 -6
  12. package/esm2022/lib/modules/radio/radio.component.mjs +21 -4
  13. package/esm2022/lib/modules/shared/form-field-label-text-required.service.mjs +19 -0
  14. package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +17 -3
  15. package/esm2022/testing/checkbox/checkbox-harness.mjs +52 -12
  16. package/fesm2022/skyux-forms-testing.mjs +51 -11
  17. package/fesm2022/skyux-forms-testing.mjs.map +1 -1
  18. package/fesm2022/skyux-forms.mjs +179 -41
  19. package/fesm2022/skyux-forms.mjs.map +1 -1
  20. package/index.d.ts +1 -0
  21. package/lib/modules/checkbox/checkbox-group.component.d.ts +21 -1
  22. package/lib/modules/checkbox/checkbox.component.d.ts +22 -2
  23. package/lib/modules/checkbox/checkbox.module.d.ts +4 -3
  24. package/lib/modules/field-group/field-group.component.d.ts +21 -1
  25. package/lib/modules/file-attachment/file-attachment.component.d.ts +9 -2
  26. package/lib/modules/file-attachment/file-drop.component.d.ts +4 -2
  27. package/lib/modules/input-box/input-box.component.d.ts +1 -0
  28. package/lib/modules/radio/radio-group.component.d.ts +11 -3
  29. package/lib/modules/radio/radio.component.d.ts +11 -3
  30. package/lib/modules/shared/form-field-label-text-required.service.d.ts +10 -0
  31. package/lib/modules/toggle-switch/toggle-switch.component.d.ts +4 -2
  32. package/package.json +8 -8
  33. package/testing/checkbox/checkbox-harness.d.ts +25 -2
package/index.d.ts CHANGED
@@ -26,6 +26,7 @@ export { SkySelectionBoxGridAlignItemsType } from './lib/modules/selection-box/t
26
26
  export { SkyToggleSwitchModule } from './lib/modules/toggle-switch/toggle-switch.module';
27
27
  export { SkyToggleSwitchChange } from './lib/modules/toggle-switch/types/toggle-switch-change';
28
28
  export { SKY_FORM_ERRORS_ENABLED } from './lib/modules/form-error/form-errors-enabled-token';
29
+ export { SkyFormFieldLabelTextRequiredService } from './lib/modules/shared/form-field-label-text-required.service';
29
30
  export { SkyCharacterCounterIndicatorComponent as λ1 } from './lib/modules/character-counter/character-counter-indicator.component';
30
31
  export { SkyCharacterCounterInputDirective as λ2 } from './lib/modules/character-counter/character-counter.directive';
31
32
  export { SkyCharacterCounterScreenReaderPipe as λ23 } from './lib/modules/character-counter/character-counter-screen-reader.pipe';
@@ -1,3 +1,4 @@
1
+ import { TemplateRef } from '@angular/core';
1
2
  import { FormGroup } from '@angular/forms';
2
3
  import * as i0 from "@angular/core";
3
4
  /**
@@ -5,6 +6,19 @@ import * as i0 from "@angular/core";
5
6
  */
6
7
  export declare class SkyCheckboxGroupComponent {
7
8
  #private;
9
+ /**
10
+ * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)
11
+ * button is added to the checkbox group fieldset legend. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)
12
+ * when clicked using the specified content and optional title.
13
+ * @preview
14
+ */
15
+ helpPopoverContent: string | TemplateRef<unknown> | undefined;
16
+ /**
17
+ * The title of the help popover. This property only applies when `helpPopoverContent` is
18
+ * also specified.
19
+ * @preview
20
+ */
21
+ helpPopoverTitle: string | undefined;
8
22
  /**
9
23
  * The text to display as the checkbox group's label.
10
24
  * @preview
@@ -15,6 +29,12 @@ export declare class SkyCheckboxGroupComponent {
15
29
  * @preview
16
30
  */
17
31
  labelHidden: boolean;
32
+ /**
33
+ * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides
34
+ * additional context to the user.
35
+ * @preview
36
+ */
37
+ hintText: string | undefined;
18
38
  /**
19
39
  * Whether the checkbox group is required.
20
40
  * @preview
@@ -35,7 +55,7 @@ export declare class SkyCheckboxGroupComponent {
35
55
  protected errorId: string;
36
56
  protected formErrorsDataId: string;
37
57
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyCheckboxGroupComponent, never>;
38
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyCheckboxGroupComponent, "sky-checkbox-group", never, { "labelText": { "alias": "labelText"; "required": true; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "required": { "alias": "required"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": true; }; }, {}, never, ["sky-checkbox[icon]", "sky-checkbox", "sky-form-error"], true, never>;
58
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyCheckboxGroupComponent, "sky-checkbox-group", never, { "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "labelText": { "alias": "labelText"; "required": true; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "required": { "alias": "required"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": true; }; }, {}, never, ["sky-checkbox[icon]", "sky-checkbox", "sky-form-error"], true, never>;
39
59
  static ngAcceptInputType_labelHidden: unknown;
40
60
  static ngAcceptInputType_required: unknown;
41
61
  static ngAcceptInputType_stacked: unknown;
@@ -1,4 +1,4 @@
1
- import { ElementRef, EventEmitter, OnInit } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnInit, TemplateRef } from '@angular/core';
2
2
  import { ControlValueAccessor, NgControl } from '@angular/forms';
3
3
  import { Observable } from 'rxjs';
4
4
  import { SkyCheckboxChange } from './checkbox-change';
@@ -53,6 +53,19 @@ export declare class SkyCheckboxComponent implements ControlValueAccessor, OnIni
53
53
  */
54
54
  set name(value: string | undefined);
55
55
  get name(): string;
56
+ /**
57
+ * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)
58
+ * button is added to the checkbox label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)
59
+ * when clicked using the specified content and optional title.
60
+ * @preview
61
+ */
62
+ helpPopoverContent: string | TemplateRef<unknown> | undefined;
63
+ /**
64
+ * The title of the help popover. This property only applies when `helpPopoverContent` is
65
+ * also specified.
66
+ * @preview
67
+ */
68
+ helpPopoverTitle: string | undefined;
56
69
  /**
57
70
  * Fires when the selected value changes.
58
71
  */
@@ -108,6 +121,12 @@ export declare class SkyCheckboxComponent implements ControlValueAccessor, OnIni
108
121
  * @preview
109
122
  */
110
123
  labelHidden: boolean;
124
+ /**
125
+ * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides
126
+ * additional context to the user.
127
+ * @preview
128
+ */
129
+ hintText: string | undefined;
111
130
  /**
112
131
  * Fires when users select or deselect the checkbox.
113
132
  */
@@ -123,6 +142,7 @@ export declare class SkyCheckboxComponent implements ControlValueAccessor, OnIni
123
142
  get indeterminateChange(): Observable<boolean>;
124
143
  set inputEl(el: ElementRef | undefined);
125
144
  get inputEl(): ElementRef | undefined;
145
+ display: string | undefined;
126
146
  protected inputId: string;
127
147
  protected readonly ngControl: NgControl | null;
128
148
  protected readonly errorId: string;
@@ -153,6 +173,6 @@ export declare class SkyCheckboxComponent implements ControlValueAccessor, OnIni
153
173
  /** Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor. */
154
174
  onTouched: () => any;
155
175
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyCheckboxComponent, never>;
156
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyCheckboxComponent, "sky-checkbox", never, { "label": { "alias": "label"; "required": false; }; "labelledBy": { "alias": "labelledBy"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "name": { "alias": "name"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "checkboxType": { "alias": "checkboxType"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "required": { "alias": "required"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; }, { "change": "change"; "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; "indeterminateChange": "indeterminateChange"; }, never, ["sky-checkbox-label", "sky-form-error"], false, never>;
176
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyCheckboxComponent, "sky-checkbox", never, { "label": { "alias": "label"; "required": false; }; "labelledBy": { "alias": "labelledBy"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "name": { "alias": "name"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "checkboxType": { "alias": "checkboxType"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "indeterminate": { "alias": "indeterminate"; "required": false; }; "required": { "alias": "required"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; }, { "change": "change"; "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; "indeterminateChange": "indeterminateChange"; }, never, ["sky-checkbox-label", "sky-form-error"], false, never>;
157
177
  static ngAcceptInputType_labelHidden: unknown;
158
178
  }
@@ -8,10 +8,11 @@ import * as i6 from "./checkbox-group.component";
8
8
  import * as i7 from "../form-error/form-error.module";
9
9
  import * as i8 from "../form-error/form-errors.module";
10
10
  import * as i9 from "../shared/sky-forms-resources.module";
11
- import * as i10 from "@skyux/indicators";
12
- import * as i11 from "@skyux/core";
11
+ import * as i10 from "@skyux/help-inline";
12
+ import * as i11 from "@skyux/indicators";
13
+ import * as i12 from "@skyux/core";
13
14
  export declare class SkyCheckboxModule {
14
15
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyCheckboxModule, never>;
15
- static ɵmod: i0.ɵɵNgModuleDeclaration<SkyCheckboxModule, [typeof i1.SkyCheckboxComponent, typeof i2.SkyCheckboxLabelComponent, typeof i3.SkyCheckboxLabelTextLabelComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.SkyCheckboxGroupComponent, typeof i7.SkyFormErrorModule, typeof i8.SkyFormErrorsModule, typeof i9.SkyFormsResourcesModule, typeof i10.SkyIconModule, typeof i11.SkyTrimModule], [typeof i1.SkyCheckboxComponent, typeof i2.SkyCheckboxLabelComponent, typeof i6.SkyCheckboxGroupComponent, typeof i7.SkyFormErrorModule]>;
16
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SkyCheckboxModule, [typeof i1.SkyCheckboxComponent, typeof i2.SkyCheckboxLabelComponent, typeof i3.SkyCheckboxLabelTextLabelComponent], [typeof i4.CommonModule, typeof i5.FormsModule, typeof i6.SkyCheckboxGroupComponent, typeof i7.SkyFormErrorModule, typeof i8.SkyFormErrorsModule, typeof i9.SkyFormsResourcesModule, typeof i10.SkyHelpInlineModule, typeof i11.SkyIconModule, typeof i12.SkyIdModule, typeof i12.SkyTrimModule], [typeof i1.SkyCheckboxComponent, typeof i2.SkyCheckboxLabelComponent, typeof i6.SkyCheckboxGroupComponent, typeof i7.SkyFormErrorModule]>;
16
17
  static ɵinj: i0.ɵɵInjectorDeclaration<SkyCheckboxModule>;
17
18
  }
@@ -1,3 +1,4 @@
1
+ import { TemplateRef } from '@angular/core';
1
2
  import { SkyFieldGroupHeadingLevel } from './field-group-heading-level';
2
3
  import { SkyFieldGroupHeadingStyle } from './field-group-heading-style';
3
4
  import * as i0 from "@angular/core";
@@ -10,6 +11,12 @@ export declare class SkyFieldGroupComponent {
10
11
  * @preview
11
12
  */
12
13
  labelText: string;
14
+ /**
15
+ * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides
16
+ * additional context to the user.
17
+ * @preview
18
+ */
19
+ hintText: string | undefined;
13
20
  /**
14
21
  * Indicates whether to hide the `labelText`.
15
22
  * @preview
@@ -31,9 +38,22 @@ export declare class SkyFieldGroupComponent {
31
38
  * @preview
32
39
  */
33
40
  set headingStyle(value: SkyFieldGroupHeadingStyle);
41
+ /**
42
+ * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)
43
+ * button is added to the field group label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)
44
+ * when clicked using the specified content and optional title.
45
+ * @preview
46
+ */
47
+ helpPopoverContent: string | TemplateRef<unknown> | undefined;
48
+ /**
49
+ * The title of the help popover. This property only applies when `helpPopoverContent` is
50
+ * also specified.
51
+ * @preview
52
+ */
53
+ helpPopoverTitle: string | undefined;
34
54
  protected headingClass: string;
35
55
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyFieldGroupComponent, never>;
36
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyFieldGroupComponent, "sky-field-group", never, { "labelText": { "alias": "labelText"; "required": true; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "headingStyle": { "alias": "headingStyle"; "required": false; }; }, {}, never, ["*"], true, never>;
56
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyFieldGroupComponent, "sky-field-group", never, { "labelText": { "alias": "labelText"; "required": true; }; "hintText": { "alias": "hintText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "headingStyle": { "alias": "headingStyle"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; }, {}, never, ["*"], true, never>;
37
57
  static ngAcceptInputType_labelHidden: unknown;
38
58
  static ngAcceptInputType_stacked: unknown;
39
59
  static ngAcceptInputType_headingLevel: unknown;
@@ -30,7 +30,7 @@ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterC
30
30
  get disabled(): boolean;
31
31
  /**
32
32
  * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline)
33
- * button is added to the input box label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)
33
+ * button is added to the single file attachment label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover)
34
34
  * when clicked using the specified content and optional title.
35
35
  * @preview
36
36
  */
@@ -51,6 +51,12 @@ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterC
51
51
  * @preview
52
52
  */
53
53
  labelHidden: boolean;
54
+ /**
55
+ * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides
56
+ * additional context to the user.
57
+ * @preview
58
+ */
59
+ hintText: string | undefined;
54
60
  /**
55
61
  * The maximum size in bytes for valid files.
56
62
  * @default 500000
@@ -90,6 +96,7 @@ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterC
90
96
  * For more information about the `aria-required` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-required).
91
97
  */
92
98
  required: boolean | undefined;
99
+ display: string | undefined;
93
100
  set value(value: SkyFileItem | undefined | null);
94
101
  get value(): SkyFileItem | undefined;
95
102
  currentThemeName: string | undefined;
@@ -127,6 +134,6 @@ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterC
127
134
  setDisabledState(isDisabled: boolean): void;
128
135
  emitClick(): void;
129
136
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyFileAttachmentComponent, [null, null, null, { optional: true; self: true; }, { optional: true; }]>;
130
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyFileAttachmentComponent, "sky-file-attachment", never, { "acceptedTypes": { "alias": "acceptedTypes"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "minFileSize": { "alias": "minFileSize"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "fileChange": "fileChange"; "fileClick": "fileClick"; }, ["labelComponents"], ["sky-form-error", "sky-file-attachment-label"], false, never>;
137
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyFileAttachmentComponent, "sky-file-attachment", never, { "acceptedTypes": { "alias": "acceptedTypes"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "minFileSize": { "alias": "minFileSize"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "fileChange": "fileChange"; "fileClick": "fileClick"; }, ["labelComponents"], ["sky-form-error", "sky-file-attachment-label"], false, never>;
131
138
  static ngAcceptInputType_labelHidden: unknown;
132
139
  }
@@ -1,4 +1,4 @@
1
- import { ElementRef, EventEmitter, OnDestroy } from '@angular/core';
1
+ import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
2
  import { SkyFileItem } from './file-item';
3
3
  import { SkyFileLink } from './file-link';
4
4
  import { SkyFileValidateFn } from './file-validate-function';
@@ -14,7 +14,7 @@ import * as i0 from "@angular/core";
14
14
  * outside of the file drop component, you can place the `sky-file-drop-target` CSS class
15
15
  * on the element that receives drop events to exempt it from the drop exclusion rule.
16
16
  */
17
- export declare class SkyFileDropComponent implements OnDestroy {
17
+ export declare class SkyFileDropComponent implements OnInit, OnDestroy {
18
18
  #private;
19
19
  /**
20
20
  * Fires when users add or remove files.
@@ -104,11 +104,13 @@ export declare class SkyFileDropComponent implements OnDestroy {
104
104
  */
105
105
  required: boolean;
106
106
  inputEl: ElementRef | undefined;
107
+ display: string | undefined;
107
108
  rejectedOver: boolean;
108
109
  acceptedOver: boolean;
109
110
  linkUrl: string | undefined;
110
111
  protected errorId: string;
111
112
  protected rejectedFiles: SkyFileItem[];
113
+ ngOnInit(): void;
112
114
  ngOnDestroy(): void;
113
115
  dropClicked(): void;
114
116
  fileChangeEvent(fileChangeEvent: Event): void;
@@ -75,6 +75,7 @@ export declare class SkyInputBoxComponent implements OnInit, AfterContentChecked
75
75
  readonly hintTextId: string;
76
76
  readonly ariaDescribedBy: ReplaySubject<string | undefined>;
77
77
  cssClass: string;
78
+ display: string | undefined;
78
79
  formControl: FormControlDirective | undefined;
79
80
  formControlByName: FormControlName | undefined;
80
81
  ngModel: NgModel | undefined;
@@ -1,4 +1,4 @@
1
- import { AfterContentInit, AfterViewInit, ChangeDetectorRef, OnDestroy, QueryList } from '@angular/core';
1
+ import { AfterContentInit, AfterViewInit, ChangeDetectorRef, OnDestroy, OnInit, QueryList } from '@angular/core';
2
2
  import { NgControl } from '@angular/forms';
3
3
  import { SkyRadioGroupIdService } from './radio-group-id.service';
4
4
  import { SkyRadioComponent } from './radio.component';
@@ -9,7 +9,7 @@ import * as i0 from "@angular/core";
9
9
  * On Angular forms, the component manages the selected values and keeps the forms up-to-date.
10
10
  * When users select a radio button, its value is driven through an `ngModel` attribute that you specify on the `sky-radio-group` element.
11
11
  */
12
- export declare class SkyRadioGroupComponent implements AfterContentInit, AfterViewInit, OnDestroy {
12
+ export declare class SkyRadioGroupComponent implements AfterContentInit, AfterViewInit, OnInit, OnDestroy {
13
13
  #private;
14
14
  /**
15
15
  * The HTML element ID of the element that labels
@@ -80,6 +80,13 @@ export declare class SkyRadioGroupComponent implements AfterContentInit, AfterVi
80
80
  * @preview
81
81
  */
82
82
  labelHidden: boolean;
83
+ display: string | undefined;
84
+ /**
85
+ * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides
86
+ * additional context to the user.
87
+ * @preview
88
+ */
89
+ hintText: string | undefined;
83
90
  /**
84
91
  * Our radio components are usually implemented using an unordered list. This is an
85
92
  * accessibility violation because the unordered list has an implicit role which
@@ -95,6 +102,7 @@ export declare class SkyRadioGroupComponent implements AfterContentInit, AfterVi
95
102
  ngAfterContentInit(): void;
96
103
  ngAfterViewInit(): void;
97
104
  watchForSelections(): void;
105
+ ngOnInit(): void;
98
106
  ngOnDestroy(): void;
99
107
  writeValue(value: unknown): void;
100
108
  /**
@@ -105,6 +113,6 @@ export declare class SkyRadioGroupComponent implements AfterContentInit, AfterVi
105
113
  registerOnChange(fn: (value: any) => void): void;
106
114
  registerOnTouched(fn: any): void;
107
115
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyRadioGroupComponent, [null, null, { optional: true; self: true; }]>;
108
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyRadioGroupComponent, "sky-radio-group", never, { "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; }, {}, ["radios"], ["*", "sky-form-error"], false, never>;
116
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyRadioGroupComponent, "sky-radio-group", never, { "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; }, {}, ["radios"], ["*", "sky-form-error"], false, never>;
109
117
  static ngAcceptInputType_labelHidden: unknown;
110
118
  }
@@ -1,4 +1,4 @@
1
- import { EventEmitter, OnDestroy } from '@angular/core';
1
+ import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
3
  import { Subject } from 'rxjs';
4
4
  import { SkyRadioChange } from './types/radio-change';
@@ -9,7 +9,7 @@ import * as i0 from "@angular/core";
9
9
  * with `type="radio"`. When users select a radio button, its value is driven through an
10
10
  * `ngModel` attribute that you specify on the `sky-radio` element or the parent `sky-radio-group` element.
11
11
  */
12
- export declare class SkyRadioComponent implements OnDestroy, ControlValueAccessor {
12
+ export declare class SkyRadioComponent implements OnInit, OnDestroy, ControlValueAccessor {
13
13
  #private;
14
14
  /**
15
15
  * Fires when users focus off a radio button.
@@ -105,6 +105,12 @@ export declare class SkyRadioComponent implements OnDestroy, ControlValueAccesso
105
105
  * @preview
106
106
  */
107
107
  labelHidden: boolean;
108
+ /**
109
+ * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides
110
+ * additional context to the user.
111
+ * @preview
112
+ */
113
+ hintText: string | undefined;
108
114
  /**
109
115
  * Fires when users select a radio button.
110
116
  */
@@ -117,11 +123,13 @@ export declare class SkyRadioComponent implements OnDestroy, ControlValueAccesso
117
123
  * Fires when the selected value changes.
118
124
  */
119
125
  disabledChange: EventEmitter<boolean>;
126
+ display: string | undefined;
120
127
  set selectedValue(value: any);
121
128
  get selectedValue(): any;
122
129
  radioGroupDisabled: boolean;
123
130
  protected inputId: string;
124
131
  constructor();
132
+ ngOnInit(): void;
125
133
  ngOnDestroy(): void;
126
134
  writeValue(value: unknown): void;
127
135
  /**
@@ -135,6 +143,6 @@ export declare class SkyRadioComponent implements OnDestroy, ControlValueAccesso
135
143
  onInputChange(event: Event): void;
136
144
  onInputFocusChange(): void;
137
145
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyRadioComponent, never>;
138
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyRadioComponent, "sky-radio", never, { "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelledBy": { "alias": "labelledBy"; "required": false; }; "name": { "alias": "name"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "radioType": { "alias": "radioType"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; }, { "change": "change"; "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; }, never, ["sky-radio-label"], false, never>;
146
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyRadioComponent, "sky-radio", never, { "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelledBy": { "alias": "labelledBy"; "required": false; }; "name": { "alias": "name"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "value": { "alias": "value"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "radioType": { "alias": "radioType"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; }, { "change": "change"; "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; }, never, ["sky-radio-label"], false, never>;
139
147
  static ngAcceptInputType_labelHidden: unknown;
140
148
  }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ /**
3
+ * Requires child form field components of field groups to use label text.
4
+ * @internal
5
+ */
6
+ export declare class SkyFormFieldLabelTextRequiredService {
7
+ validateLabelText(text: string | undefined): void;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyFormFieldLabelTextRequiredService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<SkyFormFieldLabelTextRequiredService>;
10
+ }
@@ -1,10 +1,10 @@
1
- import { AfterContentInit, ChangeDetectorRef, EventEmitter, OnDestroy, QueryList } from '@angular/core';
1
+ import { AfterContentInit, ChangeDetectorRef, EventEmitter, OnDestroy, OnInit, QueryList } from '@angular/core';
2
2
  import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
3
3
  import { SkyIdService } from '@skyux/core';
4
4
  import { SkyToggleSwitchLabelComponent } from './toggle-switch-label.component';
5
5
  import { SkyToggleSwitchChange } from './types/toggle-switch-change';
6
6
  import * as i0 from "@angular/core";
7
- export declare class SkyToggleSwitchComponent implements AfterContentInit, OnDestroy, ControlValueAccessor, Validator {
7
+ export declare class SkyToggleSwitchComponent implements AfterContentInit, OnInit, OnDestroy, ControlValueAccessor, Validator {
8
8
  #private;
9
9
  /**
10
10
  * The ARIA label for the toggle switch. This sets the `aria-label`
@@ -50,8 +50,10 @@ export declare class SkyToggleSwitchComponent implements AfterContentInit, OnDes
50
50
  labelId: string;
51
51
  enableIndicatorAnimation: boolean;
52
52
  labelComponents: QueryList<SkyToggleSwitchLabelComponent> | undefined;
53
+ display: string | undefined;
53
54
  constructor(changeDetector: ChangeDetectorRef, idService: SkyIdService);
54
55
  ngAfterContentInit(): void;
56
+ ngOnInit(): void;
55
57
  ngOnDestroy(): void;
56
58
  writeValue(value: boolean): void;
57
59
  validate(control: AbstractControl): ValidationErrors | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/forms",
3
- "version": "10.7.0",
3
+ "version": "10.9.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -41,13 +41,13 @@
41
41
  "@angular/core": "^17.3.4",
42
42
  "@angular/forms": "^17.3.4",
43
43
  "@angular/platform-browser": "^17.3.4",
44
- "@skyux-sdk/testing": "10.7.0",
45
- "@skyux/core": "10.7.0",
46
- "@skyux/help-inline": "10.7.0",
47
- "@skyux/i18n": "10.7.0",
48
- "@skyux/indicators": "10.7.0",
49
- "@skyux/popovers": "10.7.0",
50
- "@skyux/theme": "10.7.0"
44
+ "@skyux-sdk/testing": "10.9.0",
45
+ "@skyux/core": "10.9.0",
46
+ "@skyux/help-inline": "10.9.0",
47
+ "@skyux/i18n": "10.9.0",
48
+ "@skyux/indicators": "10.9.0",
49
+ "@skyux/popovers": "10.9.0",
50
+ "@skyux/theme": "10.9.0"
51
51
  },
52
52
  "dependencies": {
53
53
  "tslib": "^2.6.2"
@@ -1,4 +1,5 @@
1
1
  import { HarnessPredicate } from '@angular/cdk/testing';
2
+ import { TemplateRef } from '@angular/core';
2
3
  import { SkyComponentHarness } from '@skyux/core/testing';
3
4
  import { SkyCheckboxHarnessFilters } from './checkbox-harness-filters';
4
5
  /**
@@ -20,6 +21,10 @@ export declare class SkyCheckboxHarness extends SkyComponentHarness {
20
21
  * Blurs the checkbox.
21
22
  */
22
23
  blur(): Promise<void>;
24
+ /**
25
+ * Clicks the help inline button.
26
+ */
27
+ clickHelpInline(): Promise<void>;
23
28
  /**
24
29
  * Puts the checkbox in a checked state by toggling it if it is currently unchecked, or doing nothing if it is already checked.
25
30
  */
@@ -36,6 +41,14 @@ export declare class SkyCheckboxHarness extends SkyComponentHarness {
36
41
  * Gets the checkbox's aria-labelledby.
37
42
  */
38
43
  getAriaLabelledby(): Promise<string | null>;
44
+ /**
45
+ * Gets the help popover content.
46
+ */
47
+ getHelpPopoverContent(): Promise<TemplateRef<unknown> | string | undefined>;
48
+ /**
49
+ * Gets the help popover title.
50
+ */
51
+ getHelpPopoverTitle(): Promise<string | undefined>;
39
52
  /**
40
53
  * Gets the checkbox's label text. If the label is set via `labelText` and `labelHidden` is true,
41
54
  * the text will still be returned.
@@ -45,6 +58,10 @@ export declare class SkyCheckboxHarness extends SkyComponentHarness {
45
58
  * Whether the label is hidden. Only supported when using the `labelText` input to set the label.
46
59
  */
47
60
  getLabelHidden(): Promise<boolean>;
61
+ /**
62
+ * Gets the checkbox's hint text.
63
+ */
64
+ getHintText(): Promise<string>;
48
65
  /**
49
66
  * Gets the checkbox's name.
50
67
  */
@@ -53,6 +70,14 @@ export declare class SkyCheckboxHarness extends SkyComponentHarness {
53
70
  * Gets the checkbox's value.
54
71
  */
55
72
  getValue(): Promise<string | null>;
73
+ /**
74
+ * Whether the checkbox displays custom error.
75
+ */
76
+ hasCustomError(errorName: string): Promise<boolean>;
77
+ /**
78
+ * Whether the checkbox displays an error that it is required.
79
+ */
80
+ hasRequiredError(): Promise<boolean>;
56
81
  /**
57
82
  * Whether the checkbox is checked.
58
83
  */
@@ -73,6 +98,4 @@ export declare class SkyCheckboxHarness extends SkyComponentHarness {
73
98
  * Puts the checkbox in an unchecked state by toggling it if it is currently checked, or doing nothing if it is already unchecked.
74
99
  */
75
100
  uncheck(): Promise<void>;
76
- hasRequiredError(): Promise<boolean>;
77
- hasCustomError(errorName: string): Promise<boolean>;
78
101
  }