@skyux/forms 10.8.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 (26) hide show
  1. package/documentation.json +3677 -3004
  2. package/esm2022/index.mjs +2 -1
  3. package/esm2022/lib/modules/checkbox/checkbox-group.component.mjs +8 -4
  4. package/esm2022/lib/modules/checkbox/checkbox.component.mjs +15 -3
  5. package/esm2022/lib/modules/field-group/field-group.component.mjs +11 -4
  6. package/esm2022/lib/modules/file-attachment/file-attachment.component.mjs +15 -3
  7. package/esm2022/lib/modules/file-attachment/file-drop.component.mjs +19 -5
  8. package/esm2022/lib/modules/input-box/input-box.component.mjs +14 -2
  9. package/esm2022/lib/modules/radio/radio-group.component.mjs +23 -6
  10. package/esm2022/lib/modules/radio/radio.component.mjs +17 -3
  11. package/esm2022/lib/modules/shared/form-field-label-text-required.service.mjs +19 -0
  12. package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +17 -3
  13. package/fesm2022/skyux-forms.mjs +128 -17
  14. package/fesm2022/skyux-forms.mjs.map +1 -1
  15. package/index.d.ts +1 -0
  16. package/lib/modules/checkbox/checkbox-group.component.d.ts +7 -1
  17. package/lib/modules/checkbox/checkbox.component.d.ts +1 -0
  18. package/lib/modules/field-group/field-group.component.d.ts +15 -1
  19. package/lib/modules/file-attachment/file-attachment.component.d.ts +1 -0
  20. package/lib/modules/file-attachment/file-drop.component.d.ts +4 -2
  21. package/lib/modules/input-box/input-box.component.d.ts +1 -0
  22. package/lib/modules/radio/radio-group.component.d.ts +11 -3
  23. package/lib/modules/radio/radio.component.d.ts +4 -2
  24. package/lib/modules/shared/form-field-label-text-required.service.d.ts +10 -0
  25. package/lib/modules/toggle-switch/toggle-switch.component.d.ts +4 -2
  26. package/package.json +8 -8
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';
@@ -29,6 +29,12 @@ export declare class SkyCheckboxGroupComponent {
29
29
  * @preview
30
30
  */
31
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;
32
38
  /**
33
39
  * Whether the checkbox group is required.
34
40
  * @preview
@@ -49,7 +55,7 @@ export declare class SkyCheckboxGroupComponent {
49
55
  protected errorId: string;
50
56
  protected formErrorsDataId: string;
51
57
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyCheckboxGroupComponent, never>;
52
- 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; }; "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>;
53
59
  static ngAcceptInputType_labelHidden: unknown;
54
60
  static ngAcceptInputType_required: unknown;
55
61
  static ngAcceptInputType_stacked: unknown;
@@ -142,6 +142,7 @@ export declare class SkyCheckboxComponent implements ControlValueAccessor, OnIni
142
142
  get indeterminateChange(): Observable<boolean>;
143
143
  set inputEl(el: ElementRef | undefined);
144
144
  get inputEl(): ElementRef | undefined;
145
+ display: string | undefined;
145
146
  protected inputId: string;
146
147
  protected readonly ngControl: NgControl | null;
147
148
  protected readonly errorId: string;
@@ -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";
@@ -37,9 +38,22 @@ export declare class SkyFieldGroupComponent {
37
38
  * @preview
38
39
  */
39
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;
40
54
  protected headingClass: string;
41
55
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyFieldGroupComponent, never>;
42
- 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; }; }, {}, 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>;
43
57
  static ngAcceptInputType_labelHidden: unknown;
44
58
  static ngAcceptInputType_stacked: unknown;
45
59
  static ngAcceptInputType_headingLevel: unknown;
@@ -96,6 +96,7 @@ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterC
96
96
  * For more information about the `aria-required` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-required).
97
97
  */
98
98
  required: boolean | undefined;
99
+ display: string | undefined;
99
100
  set value(value: SkyFileItem | undefined | null);
100
101
  get value(): SkyFileItem | undefined;
101
102
  currentThemeName: string | undefined;
@@ -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.
@@ -123,11 +123,13 @@ export declare class SkyRadioComponent implements OnDestroy, ControlValueAccesso
123
123
  * Fires when the selected value changes.
124
124
  */
125
125
  disabledChange: EventEmitter<boolean>;
126
+ display: string | undefined;
126
127
  set selectedValue(value: any);
127
128
  get selectedValue(): any;
128
129
  radioGroupDisabled: boolean;
129
130
  protected inputId: string;
130
131
  constructor();
132
+ ngOnInit(): void;
131
133
  ngOnDestroy(): void;
132
134
  writeValue(value: unknown): void;
133
135
  /**
@@ -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.8.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.8.0",
45
- "@skyux/core": "10.8.0",
46
- "@skyux/help-inline": "10.8.0",
47
- "@skyux/i18n": "10.8.0",
48
- "@skyux/indicators": "10.8.0",
49
- "@skyux/popovers": "10.8.0",
50
- "@skyux/theme": "10.8.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"