@skyux/forms 11.0.0-alpha.9 → 11.0.0-beta.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 (71) hide show
  1. package/documentation.json +3570 -3450
  2. package/esm2022/index.mjs +1 -3
  3. package/esm2022/lib/modules/character-counter/character-counter-indicator.component.mjs +5 -5
  4. package/esm2022/lib/modules/character-counter/character-counter-screen-reader.pipe.mjs +3 -3
  5. package/esm2022/lib/modules/character-counter/character-counter.directive.mjs +3 -3
  6. package/esm2022/lib/modules/character-counter/character-counter.module.mjs +4 -4
  7. package/esm2022/lib/modules/checkbox/checkbox-group.component.mjs +6 -6
  8. package/esm2022/lib/modules/checkbox/checkbox-label-text-label.component.mjs +5 -6
  9. package/esm2022/lib/modules/checkbox/checkbox-label.component.mjs +3 -3
  10. package/esm2022/lib/modules/checkbox/checkbox.component.mjs +13 -22
  11. package/esm2022/lib/modules/checkbox/checkbox.module.mjs +4 -4
  12. package/esm2022/lib/modules/field-group/field-group.component.mjs +5 -6
  13. package/esm2022/lib/modules/field-group/field-group.module.mjs +4 -4
  14. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-join-ids.pipe.mjs +22 -0
  15. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-label.component.mjs +5 -6
  16. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +22 -28
  17. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.module.mjs +4 -4
  18. package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.service.mjs +3 -3
  19. package/esm2022/lib/modules/file-attachment/file-attachments.module.mjs +4 -4
  20. package/esm2022/lib/modules/file-attachment/file-drop/file-drop.component.mjs +16 -23
  21. package/esm2022/lib/modules/file-attachment/file-drop/file-drop.module.mjs +4 -4
  22. package/esm2022/lib/modules/file-attachment/file-drop/file-item.component.mjs +7 -14
  23. package/esm2022/lib/modules/file-attachment/shared/file-item.service.mjs +3 -3
  24. package/esm2022/lib/modules/file-attachment/shared/file-size.pipe.mjs +3 -3
  25. package/esm2022/lib/modules/form-error/form-error.component.mjs +24 -24
  26. package/esm2022/lib/modules/form-error/form-error.module.mjs +4 -4
  27. package/esm2022/lib/modules/form-error/form-errors.component.mjs +18 -20
  28. package/esm2022/lib/modules/form-error/form-errors.module.mjs +4 -4
  29. package/esm2022/lib/modules/input-box/input-box-adapter.service.mjs +3 -3
  30. package/esm2022/lib/modules/input-box/input-box-control.directive.mjs +3 -3
  31. package/esm2022/lib/modules/input-box/input-box-hint-text.pipe.mjs +3 -3
  32. package/esm2022/lib/modules/input-box/input-box-host.service.mjs +21 -4
  33. package/esm2022/lib/modules/input-box/input-box.component.mjs +30 -30
  34. package/esm2022/lib/modules/input-box/input-box.module.mjs +4 -4
  35. package/esm2022/lib/modules/radio/radio-group-id.service.mjs +3 -3
  36. package/esm2022/lib/modules/radio/radio-group.component.mjs +11 -19
  37. package/esm2022/lib/modules/radio/radio-label.component.mjs +3 -3
  38. package/esm2022/lib/modules/radio/radio.component.mjs +9 -16
  39. package/esm2022/lib/modules/radio/radio.module.mjs +4 -4
  40. package/esm2022/lib/modules/required-state/required-state.directive.mjs +3 -3
  41. package/esm2022/lib/modules/selection-box/selection-box-adapter.service.mjs +3 -3
  42. package/esm2022/lib/modules/selection-box/selection-box-description.component.mjs +3 -3
  43. package/esm2022/lib/modules/selection-box/selection-box-grid.component.mjs +4 -4
  44. package/esm2022/lib/modules/selection-box/selection-box-header.component.mjs +3 -3
  45. package/esm2022/lib/modules/selection-box/selection-box.component.mjs +3 -3
  46. package/esm2022/lib/modules/selection-box/selection-box.module.mjs +4 -4
  47. package/esm2022/lib/modules/shared/sky-forms-resources.module.mjs +6 -8
  48. package/esm2022/lib/modules/toggle-switch/toggle-switch-label.component.mjs +3 -3
  49. package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +9 -16
  50. package/esm2022/lib/modules/toggle-switch/toggle-switch.module.mjs +4 -4
  51. package/esm2022/testing/checkbox/checkbox-harness.mjs +2 -6
  52. package/fesm2022/skyux-forms-testing.mjs +1 -5
  53. package/fesm2022/skyux-forms-testing.mjs.map +1 -1
  54. package/fesm2022/skyux-forms.mjs +294 -343
  55. package/fesm2022/skyux-forms.mjs.map +1 -1
  56. package/index.d.ts +1 -2
  57. package/lib/modules/checkbox/checkbox.component.d.ts +1 -2
  58. package/lib/modules/file-attachment/file-attachment/file-attachment-join-ids.pipe.d.ts +11 -0
  59. package/lib/modules/file-attachment/file-attachment/file-attachment.component.d.ts +8 -8
  60. package/lib/modules/file-attachment/file-drop/file-drop.component.d.ts +1 -2
  61. package/lib/modules/form-error/form-errors.component.d.ts +9 -5
  62. package/lib/modules/input-box/input-box-host.service.d.ts +10 -1
  63. package/lib/modules/input-box/input-box.component.d.ts +1 -6
  64. package/lib/modules/radio/radio-group.component.d.ts +1 -2
  65. package/lib/modules/radio/radio.component.d.ts +1 -2
  66. package/lib/modules/toggle-switch/toggle-switch.component.d.ts +1 -2
  67. package/package.json +14 -14
  68. package/esm2022/lib/modules/shared/form-field-label-text-required.directive.mjs +0 -37
  69. package/esm2022/lib/modules/shared/form-field-label-text-required.service.mjs +0 -21
  70. package/lib/modules/shared/form-field-label-text-required.directive.d.ts +0 -14
  71. package/lib/modules/shared/form-field-label-text-required.service.d.ts +0 -11
package/index.d.ts CHANGED
@@ -16,6 +16,7 @@ export { SkyFileLink } from './lib/modules/file-attachment/file-drop/file-link';
16
16
  export { SkyFileItem } from './lib/modules/file-attachment/shared/file-item';
17
17
  export { SkyFileItemErrorType } from './lib/modules/file-attachment/shared/file-item-error-type';
18
18
  export { SkyFileSizePipe } from './lib/modules/file-attachment/shared/file-size.pipe';
19
+ export { SkyFileValidateFn } from './lib/modules/file-attachment/shared/file-validate-function';
19
20
  export { SkyFormErrorModule } from './lib/modules/form-error/form-error.module';
20
21
  export { SkyFormErrorsModule } from './lib/modules/form-error/form-errors.module';
21
22
  export { SkyInputBoxHostService } from './lib/modules/input-box/input-box-host.service';
@@ -33,8 +34,6 @@ export { SkySelectionBoxGridAlignItemsType } from './lib/modules/selection-box/t
33
34
  export { SkyToggleSwitchModule } from './lib/modules/toggle-switch/toggle-switch.module';
34
35
  export { SkyToggleSwitchChange } from './lib/modules/toggle-switch/types/toggle-switch-change';
35
36
  export { SKY_FORM_ERRORS_ENABLED } from './lib/modules/form-error/form-errors-enabled-token';
36
- export { SkyFormFieldLabelTextRequiredDirective } from './lib/modules/shared/form-field-label-text-required.directive';
37
- export { SkyFormFieldLabelTextRequiredService } from './lib/modules/shared/form-field-label-text-required.service';
38
37
  export { SkyCharacterCounterIndicatorComponent as λ1 } from './lib/modules/character-counter/character-counter-indicator.component';
39
38
  export { SkyCharacterCounterScreenReaderPipe as λ23 } from './lib/modules/character-counter/character-counter-screen-reader.pipe';
40
39
  export { SkyCharacterCounterInputDirective as λ2 } from './lib/modules/character-counter/character-counter.directive';
@@ -4,7 +4,6 @@ import { Observable } from 'rxjs';
4
4
  import { SkyCheckboxChange } from './checkbox-change';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "@skyux/theme";
7
- import * as i2 from "../shared/form-field-label-text-required.directive";
8
7
  /**
9
8
  * Replaces the HTML input element with `type="checkbox"`. When users select a checkbox, its value
10
9
  * is driven through an `ngModel` attribute that you specify on the `sky-checkbox` element.
@@ -181,7 +180,7 @@ export declare class SkyCheckboxComponent implements ControlValueAccessor, Valid
181
180
  /** Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor. */
182
181
  onTouched: () => any;
183
182
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyCheckboxComponent, never>;
184
- 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; }; "stacked": { "alias": "stacked"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, { "change": "change"; "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; "indeterminateChange": "indeterminateChange"; }, never, ["sky-checkbox-label", "sky-form-error"], false, [{ directive: typeof i1.SkyThemeComponentClassDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.SkyFormFieldLabelTextRequiredDirective; inputs: { "labelText": "labelText"; }; outputs: {}; }]>;
183
+ 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; }; "stacked": { "alias": "stacked"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, { "change": "change"; "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; "indeterminateChange": "indeterminateChange"; }, never, ["sky-checkbox-label", "sky-form-error"], false, [{ directive: typeof i1.SkyThemeComponentClassDirective; inputs: {}; outputs: {}; }]>;
185
184
  static ngAcceptInputType_disabled: unknown;
186
185
  static ngAcceptInputType_required: unknown;
187
186
  static ngAcceptInputType_labelHidden: unknown;
@@ -0,0 +1,11 @@
1
+ import { PipeTransform } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Joins an array of IDs with a single space.
5
+ * @internal
6
+ */
7
+ export declare class SkyFileAttachmentJoinIdsPipe implements PipeTransform {
8
+ transform(...ids: (string | null | undefined)[]): string | null;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<SkyFileAttachmentJoinIdsPipe, never>;
10
+ static ɵpipe: i0.ɵɵPipeDeclaration<SkyFileAttachmentJoinIdsPipe, "skyFileAttachmentJoinIds", true>;
11
+ }
@@ -1,5 +1,5 @@
1
1
  import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
2
- import { NgControl, ValidationErrors } from '@angular/forms';
2
+ import { ControlValueAccessor, NgControl, ValidationErrors } from '@angular/forms';
3
3
  import { SkyThemeService } from '@skyux/theme';
4
4
  import { SkyFileItem } from '../shared/file-item';
5
5
  import { SkyFileItemErrorType } from '../shared/file-item-error-type';
@@ -10,11 +10,10 @@ import { SkyFileAttachmentClick } from './file-attachment-click';
10
10
  import { SkyFileAttachmentLabelComponent } from './file-attachment-label.component';
11
11
  import { SkyFileAttachmentService } from './file-attachment.service';
12
12
  import * as i0 from "@angular/core";
13
- import * as i1 from "../../shared/form-field-label-text-required.directive";
14
13
  /**
15
14
  * Provides an element to attach a single local file.
16
15
  */
17
- export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterContentInit, OnInit, OnDestroy {
16
+ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterContentInit, ControlValueAccessor, OnInit, OnDestroy {
18
17
  #private;
19
18
  /**
20
19
  * The comma-delimited string literal of MIME types that users can attach.
@@ -82,21 +81,20 @@ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterC
82
81
  /**
83
82
  * The custom validation function. This validation runs alongside the internal
84
83
  * file validation. This function takes a `SkyFileItem` object as a parameter.
84
+ * @deprecated Add a custom Angular `Validator` function to the `FormControl` instead.
85
85
  */
86
86
  validateFn: SkyFileValidateFn | undefined;
87
87
  /**
88
88
  * Fires when users add or remove files.
89
+ * @deprecated Subscribe to the form control's `valueChanges` event instead.
89
90
  */
90
91
  fileChange: EventEmitter<SkyFileAttachmentChange>;
91
92
  /**
92
- * Fires when users select the file name link. Make sure to bind the event.
93
- * If you do not, the file name link will be a dead link.
93
+ * Fires when users select the file name link.
94
94
  */
95
95
  fileClick: EventEmitter<SkyFileAttachmentClick>;
96
96
  acceptedOver: boolean;
97
97
  hasLabelComponent: boolean;
98
- fileDropDescriptionElementId: string;
99
- labelElementId: string;
100
98
  rejectedOver: boolean;
101
99
  /**
102
100
  * Whether the input is required for form validation.
@@ -115,9 +113,11 @@ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterC
115
113
  inputEl: ElementRef | undefined;
116
114
  labelComponents: QueryList<SkyFileAttachmentLabelComponent> | undefined;
117
115
  isImage: boolean;
116
+ protected isData: boolean;
118
117
  protected get isRequired(): boolean;
119
118
  protected ngControl: NgControl | undefined;
120
119
  protected errorId: string;
120
+ protected labelId: string;
121
121
  protected fileErrorName: SkyFileItemErrorType | undefined;
122
122
  protected fileErrorParam: string | undefined;
123
123
  protected fileErrorValidation: ValidationErrors | null | undefined;
@@ -144,7 +144,7 @@ export declare class SkyFileAttachmentComponent implements AfterViewInit, AfterC
144
144
  setDisabledState(isDisabled: boolean): void;
145
145
  emitClick(): void;
146
146
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyFileAttachmentComponent, [null, null, null, { optional: true; self: true; }, { optional: true; }]>;
147
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyFileAttachmentComponent, "sky-file-attachment", never, { "acceptedTypes": { "alias": "acceptedTypes"; "required": false; }; "acceptedTypesErrorMessage": { "alias": "acceptedTypesErrorMessage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "helpKey": { "alias": "helpKey"; "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; }; "stacked": { "alias": "stacked"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "fileChange": "fileChange"; "fileClick": "fileClick"; }, ["labelComponents"], ["sky-form-error", "sky-file-attachment-label"], true, [{ directive: typeof i1.SkyFormFieldLabelTextRequiredDirective; inputs: { "labelText": "labelText"; }; outputs: {}; }]>;
147
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyFileAttachmentComponent, "sky-file-attachment", never, { "acceptedTypes": { "alias": "acceptedTypes"; "required": false; }; "acceptedTypesErrorMessage": { "alias": "acceptedTypesErrorMessage"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "helpKey": { "alias": "helpKey"; "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; }; "stacked": { "alias": "stacked"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "fileChange": "fileChange"; "fileClick": "fileClick"; }, ["labelComponents"], ["sky-file-attachment-label", "sky-form-error"], true, never>;
148
148
  static ngAcceptInputType_disabled: unknown;
149
149
  static ngAcceptInputType_labelHidden: unknown;
150
150
  static ngAcceptInputType_stacked: unknown;
@@ -4,7 +4,6 @@ import { SkyFileValidateFn } from '../shared/file-validate-function';
4
4
  import { SkyFileDropChange } from './file-drop-change';
5
5
  import { SkyFileLink } from './file-link';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../../shared/form-field-label-text-required.directive";
8
7
  /**
9
8
  * Provides an element to attach multiple files where users can browse or drag and drop local files
10
9
  * or provide hyperlinks to external files. You can leave the contents of the component
@@ -144,7 +143,7 @@ export declare class SkyFileDropComponent implements OnDestroy {
144
143
  addLink(event: Event): void;
145
144
  onLinkBlur(): void;
146
145
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyFileDropComponent, never>;
147
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyFileDropComponent, "sky-file-drop", never, { "fileUploadAriaLabel": { "alias": "fileUploadAriaLabel"; "required": false; }; "linkUploadAriaLabel": { "alias": "linkUploadAriaLabel"; "required": false; }; "minFileSize": { "alias": "minFileSize"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; }; "acceptedTypes": { "alias": "acceptedTypes"; "required": false; }; "acceptedTypesErrorMessage": { "alias": "acceptedTypesErrorMessage"; "required": false; }; "noClick": { "alias": "noClick"; "required": false; }; "allowLinks": { "alias": "allowLinks"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "required": { "alias": "required"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, { "filesChanged": "filesChanged"; "linkInputBlur": "linkInputBlur"; "linkChanged": "linkChanged"; }, never, ["*"], true, [{ directive: typeof i1.SkyFormFieldLabelTextRequiredDirective; inputs: { "labelText": "labelText"; }; outputs: {}; }]>;
146
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyFileDropComponent, "sky-file-drop", never, { "fileUploadAriaLabel": { "alias": "fileUploadAriaLabel"; "required": false; }; "linkUploadAriaLabel": { "alias": "linkUploadAriaLabel"; "required": false; }; "minFileSize": { "alias": "minFileSize"; "required": false; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "validateFn": { "alias": "validateFn"; "required": false; }; "acceptedTypes": { "alias": "acceptedTypes"; "required": false; }; "acceptedTypesErrorMessage": { "alias": "acceptedTypesErrorMessage"; "required": false; }; "noClick": { "alias": "noClick"; "required": false; }; "allowLinks": { "alias": "allowLinks"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "required": { "alias": "required"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, { "filesChanged": "filesChanged"; "linkInputBlur": "linkInputBlur"; "linkChanged": "linkChanged"; }, never, ["*"], true, never>;
148
147
  static ngAcceptInputType_labelHidden: unknown;
149
148
  static ngAcceptInputType_required: unknown;
150
149
  static ngAcceptInputType_stacked: unknown;
@@ -13,14 +13,18 @@ export declare class SkyFormErrorsComponent {
13
13
  */
14
14
  labelText: string | undefined;
15
15
  /**
16
- * Indicates whether to show error messages, which might only be true if the
17
- * form control is touched or dirty.
16
+ * Indicates whether the parent component's control is touched
18
17
  */
19
- showErrors: boolean;
18
+ touched: boolean;
19
+ /**
20
+ * Indicates whether the parent component's control is dirty
21
+ */
22
+ dirty: boolean;
20
23
  protected readonly ariaAtomic = "true";
21
24
  protected readonly ariaLive = "assertive";
22
25
  protected readonly ariaRelevant = "all";
23
26
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyFormErrorsComponent, never>;
24
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyFormErrorsComponent, "sky-form-errors", never, { "errors": { "alias": "errors"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "showErrors": { "alias": "showErrors"; "required": false; }; }, {}, never, ["*"], true, never>;
25
- static ngAcceptInputType_showErrors: any;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyFormErrorsComponent, "sky-form-errors", never, { "errors": { "alias": "errors"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "touched": { "alias": "touched"; "required": false; }; "dirty": { "alias": "dirty"; "required": false; }; }, {}, never, ["*"], true, never>;
28
+ static ngAcceptInputType_touched: unknown;
29
+ static ngAcceptInputType_dirty: unknown;
26
30
  }
@@ -1,3 +1,4 @@
1
+ import { OnDestroy } from '@angular/core';
1
2
  import { Observable } from 'rxjs';
2
3
  import { SkyInputBoxPopulateArgs } from './input-box-populate-args';
3
4
  import { SkyInputBoxComponent } from './input-box.component';
@@ -5,17 +6,25 @@ import * as i0 from "@angular/core";
5
6
  /**
6
7
  * @internal
7
8
  */
8
- export declare class SkyInputBoxHostService {
9
+ export declare class SkyInputBoxHostService implements OnDestroy {
9
10
  #private;
11
+ required: Observable<boolean>;
10
12
  get controlId(): string;
11
13
  get labelId(): string;
12
14
  get labelText(): string;
13
15
  get ariaDescribedBy(): Observable<string | undefined> | undefined;
14
16
  init(host: SkyInputBoxComponent): void;
17
+ ngOnDestroy(): void;
15
18
  populate(args: SkyInputBoxPopulateArgs): void;
16
19
  setHintText(hintText: string | undefined): void;
17
20
  setHintTextHidden(hide: boolean): void;
18
21
  setHintTextScreenReaderOnly(hide: boolean): void;
22
+ /**
23
+ * Set required so that input box displays the label correctly. When the input is supplied by the consumer it is a content
24
+ * child that input box can read required from and this is unnecessary. When the input is supplied internally by the
25
+ * component the input box does not have a ref to it, so the component needs to inform the input box of its required state.
26
+ */
27
+ setRequired(required: boolean): void;
19
28
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyInputBoxHostService, never>;
20
29
  static ɵprov: i0.ɵɵInjectableDeclaration<SkyInputBoxHostService>;
21
30
  }
@@ -4,7 +4,6 @@ import { AbstractControlDirective, FormControlDirective, FormControlName, NgMode
4
4
  import { ReplaySubject } from 'rxjs';
5
5
  import { SkyInputBoxPopulateArgs } from './input-box-populate-args';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../shared/form-field-label-text-required.directive";
8
7
  /**
9
8
  * A wrapper component that provides styling and accessibility to form elements.
10
9
  */
@@ -67,10 +66,6 @@ export declare class SkyInputBoxComponent implements OnInit, AfterContentChecked
67
66
  */
68
67
  set hintText(value: string | undefined);
69
68
  get hintText(): string | undefined;
70
- /**
71
- * @internal
72
- */
73
- errorsScreenReaderOnly: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
74
69
  hostInputTemplate: TemplateRef<unknown> | undefined;
75
70
  hostButtonsTemplate: TemplateRef<unknown> | undefined;
76
71
  hostButtonsInsetTemplate: TemplateRef<unknown> | undefined;
@@ -107,5 +102,5 @@ export declare class SkyInputBoxComponent implements OnInit, AfterContentChecked
107
102
  setHostHintText(value: string | undefined): void;
108
103
  setHintTextScreenReaderOnly(hide: boolean): void;
109
104
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyInputBoxComponent, never>;
110
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyInputBoxComponent, "sky-input-box", never, { "hasErrors": { "alias": "hasErrors"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "characterLimit": { "alias": "characterLimit"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "errorsScreenReaderOnly": { "alias": "errorsScreenReaderOnly"; "required": false; "isSignal": true; }; }, {}, ["formControl", "formControlByName", "ngModel", "inputRef"], [".sky-control-label", ".sky-control-help", "sky-character-counter-indicator", "input,select,.sky-form-control:not(textarea),sky-text-editor", "textarea", ".sky-input-group-btn.sky-input-box-btn-left", ".sky-input-group-btn:not(.sky-input-box-btn-left):not(.sky-input-box-btn-inset)", ".sky-input-group-btn.sky-input-box-btn-inset", ".sky-input-group-icon.sky-input-box-icon-inset", ".sky-input-group-icon.sky-input-box-icon-inset-left", "sky-form-error", ".sky-error-label,.sky-error-indicator"], false, [{ directive: typeof i1.SkyFormFieldLabelTextRequiredDirective; inputs: { "labelText": "labelText"; }; outputs: {}; }]>;
105
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyInputBoxComponent, "sky-input-box", never, { "hasErrors": { "alias": "hasErrors"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "characterLimit": { "alias": "characterLimit"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; }, {}, ["formControl", "formControlByName", "ngModel", "inputRef"], [".sky-control-label", ".sky-control-help", "sky-character-counter-indicator", "input,select,.sky-form-control:not(textarea),sky-text-editor", "textarea", ".sky-input-group-btn.sky-input-box-btn-left", ".sky-input-group-btn:not(.sky-input-box-btn-left):not(.sky-input-box-btn-inset)", ".sky-input-group-btn.sky-input-box-btn-inset", ".sky-input-group-icon.sky-input-box-icon-inset", ".sky-input-group-icon.sky-input-box-icon-inset-left", "sky-form-error", ".sky-error-label,.sky-error-indicator"], false, never>;
111
106
  }
@@ -5,7 +5,6 @@ import { SkyRadioComponent } from './radio.component';
5
5
  import { SkyRadioGroupHeadingLevel } from './types/radio-group-heading-level';
6
6
  import { SkyRadioGroupHeadingStyle } from './types/radio-group-heading-style';
7
7
  import * as i0 from "@angular/core";
8
- import * as i1 from "../shared/form-field-label-text-required.directive";
9
8
  /**
10
9
  * Organizes radio buttons into a group. It is required for radio
11
10
  * buttons on Angular reactive forms, and we recommend using it with all radio buttons.
@@ -147,7 +146,7 @@ export declare class SkyRadioGroupComponent implements AfterContentInit, OnDestr
147
146
  registerOnChange(fn: (value: any) => void): void;
148
147
  registerOnTouched(fn: any): void;
149
148
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyRadioGroupComponent, [null, null, { optional: true; self: true; }]>;
150
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyRadioGroupComponent, "sky-radio-group", never, { "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "headingStyle": { "alias": "headingStyle"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "headingText": { "alias": "headingText"; "required": false; }; "headingHidden": { "alias": "headingHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, {}, ["radios"], ["*", "sky-form-error"], false, [{ directive: typeof i1.SkyFormFieldLabelTextRequiredDirective; inputs: { "labelText": "headingText"; }; outputs: {}; }]>;
149
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyRadioGroupComponent, "sky-radio-group", never, { "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "headingStyle": { "alias": "headingStyle"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "stacked": { "alias": "stacked"; "required": false; }; "value": { "alias": "value"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "headingText": { "alias": "headingText"; "required": false; }; "headingHidden": { "alias": "headingHidden"; "required": false; }; "hintText": { "alias": "hintText"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, {}, ["radios"], ["*", "sky-form-error"], false, never>;
151
150
  static ngAcceptInputType_disabled: unknown;
152
151
  static ngAcceptInputType_headingLevel: unknown;
153
152
  static ngAcceptInputType_headingStyle: unknown;
@@ -4,7 +4,6 @@ import { Subject } from 'rxjs';
4
4
  import { SkyRadioChange } from './types/radio-change';
5
5
  import { SkyRadioType } from './types/radio-type';
6
6
  import * as i0 from "@angular/core";
7
- import * as i1 from "../shared/form-field-label-text-required.directive";
8
7
  /**
9
8
  * Renders a SKY UX-themed replacement for an HTML `input` element
10
9
  * with `type="radio"`. When users select a radio button, its value is driven through an
@@ -156,7 +155,7 @@ export declare class SkyRadioComponent implements OnDestroy, ControlValueAccesso
156
155
  onInputChange(event: Event): void;
157
156
  onInputFocusChange(): void;
158
157
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyRadioComponent, never>;
159
- 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; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "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; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, { "change": "change"; "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; }, never, ["sky-radio-label"], false, [{ directive: typeof i1.SkyFormFieldLabelTextRequiredDirective; inputs: { "labelText": "labelText"; }; outputs: {}; }]>;
158
+ 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; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "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; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, { "change": "change"; "checkedChange": "checkedChange"; "disabledChange": "disabledChange"; }, never, ["sky-radio-label"], false, never>;
160
159
  static ngAcceptInputType_disabled: unknown;
161
160
  static ngAcceptInputType_labelHidden: unknown;
162
161
  }
@@ -4,7 +4,6 @@ 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
- import * as i1 from "../shared/form-field-label-text-required.directive";
8
7
  export declare class SkyToggleSwitchComponent implements AfterContentInit, OnDestroy, ControlValueAccessor, Validator {
9
8
  #private;
10
9
  /**
@@ -77,6 +76,6 @@ export declare class SkyToggleSwitchComponent implements AfterContentInit, OnDes
77
76
  onButtonClick(event: any): void;
78
77
  onButtonBlur(): void;
79
78
  static ɵfac: i0.ɵɵFactoryDeclaration<SkyToggleSwitchComponent, never>;
80
- static ɵcmp: i0.ɵɵComponentDeclaration<SkyToggleSwitchComponent, "sky-toggle-switch", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, { "toggleChange": "toggleChange"; }, ["labelComponents"], [".sky-control-help", "sky-toggle-switch-label"], false, [{ directive: typeof i1.SkyFormFieldLabelTextRequiredDirective; inputs: { "labelText": "labelText"; }; outputs: {}; }]>;
79
+ static ɵcmp: i0.ɵɵComponentDeclaration<SkyToggleSwitchComponent, "sky-toggle-switch", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "checked": { "alias": "checked"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "helpPopoverContent": { "alias": "helpPopoverContent"; "required": false; }; "helpPopoverTitle": { "alias": "helpPopoverTitle"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "labelText": { "alias": "labelText"; "required": false; }; "labelHidden": { "alias": "labelHidden"; "required": false; }; "helpKey": { "alias": "helpKey"; "required": false; }; }, { "toggleChange": "toggleChange"; }, ["labelComponents"], ["sky-toggle-switch-label", ".sky-control-help"], false, never>;
81
80
  static ngAcceptInputType_labelHidden: unknown;
82
81
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skyux/forms",
3
- "version": "11.0.0-alpha.9",
3
+ "version": "11.0.0-beta.0",
4
4
  "author": "Blackbaud, Inc.",
5
5
  "keywords": [
6
6
  "blackbaud",
@@ -36,19 +36,19 @@
36
36
  }
37
37
  },
38
38
  "peerDependencies": {
39
- "@angular/cdk": "^18.1.2",
40
- "@angular/common": "^18.1.2",
41
- "@angular/core": "^18.1.2",
42
- "@angular/forms": "^18.1.2",
43
- "@angular/platform-browser": "^18.1.2",
44
- "@skyux-sdk/testing": "11.0.0-alpha.9",
45
- "@skyux/core": "11.0.0-alpha.9",
46
- "@skyux/help-inline": "11.0.0-alpha.9",
47
- "@skyux/i18n": "11.0.0-alpha.9",
48
- "@skyux/icon": "11.0.0-alpha.9",
49
- "@skyux/indicators": "11.0.0-alpha.9",
50
- "@skyux/popovers": "11.0.0-alpha.9",
51
- "@skyux/theme": "11.0.0-alpha.9"
39
+ "@angular/cdk": "^18.2.3",
40
+ "@angular/common": "^18.2.3",
41
+ "@angular/core": "^18.2.3",
42
+ "@angular/forms": "^18.2.3",
43
+ "@angular/platform-browser": "^18.2.3",
44
+ "@skyux-sdk/testing": "11.0.0-beta.0",
45
+ "@skyux/core": "11.0.0-beta.0",
46
+ "@skyux/help-inline": "11.0.0-beta.0",
47
+ "@skyux/i18n": "11.0.0-beta.0",
48
+ "@skyux/icon": "11.0.0-beta.0",
49
+ "@skyux/indicators": "11.0.0-beta.0",
50
+ "@skyux/popovers": "11.0.0-beta.0",
51
+ "@skyux/theme": "11.0.0-beta.0"
52
52
  },
53
53
  "dependencies": {
54
54
  "tslib": "^2.6.3"
@@ -1,37 +0,0 @@
1
- import { ChangeDetectorRef, Directive, HostBinding, Input, inject, } from '@angular/core';
2
- import { SkyFormFieldLabelTextRequiredService } from './form-field-label-text-required.service';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Hide form field components of field groups that are missing label text.
6
- * @internal
7
- */
8
- export class SkyFormFieldLabelTextRequiredDirective {
9
- #changeDetector = inject(ChangeDetectorRef);
10
- #labelTextRequiredSvc = inject(SkyFormFieldLabelTextRequiredService, {
11
- optional: true,
12
- });
13
- ngOnInit() {
14
- if (this.#labelTextRequiredSvc) {
15
- if (this.labelText === undefined) {
16
- this.display = 'none';
17
- this.#changeDetector.markForCheck();
18
- }
19
- this.#labelTextRequiredSvc.validateLabelText(this.labelText);
20
- }
21
- }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormFieldLabelTextRequiredDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
23
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.2", type: SkyFormFieldLabelTextRequiredDirective, isStandalone: true, selector: "[skyFormFieldLabelTextRequired]", inputs: { labelText: "labelText" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0 }); }
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormFieldLabelTextRequiredDirective, decorators: [{
26
- type: Directive,
27
- args: [{
28
- selector: '[skyFormFieldLabelTextRequired]',
29
- standalone: true,
30
- }]
31
- }], propDecorators: { labelText: [{
32
- type: Input
33
- }], display: [{
34
- type: HostBinding,
35
- args: ['style.display']
36
- }] } });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1sYWJlbC10ZXh0LXJlcXVpcmVkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvc2hhcmVkL2Zvcm0tZmllbGQtbGFiZWwtdGV4dC1yZXF1aXJlZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMENBQTBDLENBQUM7O0FBRWhHOzs7R0FHRztBQUtILE1BQU0sT0FBTyxzQ0FBc0M7SUFPeEMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzVDLHFCQUFxQixHQUFHLE1BQU0sQ0FDckMsb0NBQW9DLEVBQ3BDO1FBQ0UsUUFBUSxFQUFFLElBQUk7S0FDZixDQUNGLENBQUM7SUFFSyxRQUFRO1FBQ2IsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUMvQixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO2dCQUN0QixJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RDLENBQUM7WUFFRCxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDSCxDQUFDOzhHQXhCVSxzQ0FBc0M7a0dBQXRDLHNDQUFzQzs7MkZBQXRDLHNDQUFzQztrQkFKbEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUNBQWlDO29CQUMzQyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBR1EsU0FBUztzQkFEZixLQUFLO2dCQUlDLE9BQU87c0JBRGIsV0FBVzt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIERpcmVjdGl2ZSxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFNreUZvcm1GaWVsZExhYmVsVGV4dFJlcXVpcmVkU2VydmljZSB9IGZyb20gJy4vZm9ybS1maWVsZC1sYWJlbC10ZXh0LXJlcXVpcmVkLnNlcnZpY2UnO1xuXG4vKipcbiAqIEhpZGUgZm9ybSBmaWVsZCBjb21wb25lbnRzIG9mIGZpZWxkIGdyb3VwcyB0aGF0IGFyZSBtaXNzaW5nIGxhYmVsIHRleHQuXG4gKiBAaW50ZXJuYWxcbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NreUZvcm1GaWVsZExhYmVsVGV4dFJlcXVpcmVkXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFNreUZvcm1GaWVsZExhYmVsVGV4dFJlcXVpcmVkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKVxuICBwdWJsaWMgZGlzcGxheTogJ25vbmUnIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNjaGFuZ2VEZXRlY3RvciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gIHJlYWRvbmx5ICNsYWJlbFRleHRSZXF1aXJlZFN2YyA9IGluamVjdChcbiAgICBTa3lGb3JtRmllbGRMYWJlbFRleHRSZXF1aXJlZFNlcnZpY2UsXG4gICAge1xuICAgICAgb3B0aW9uYWw6IHRydWUsXG4gICAgfSxcbiAgKTtcblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuI2xhYmVsVGV4dFJlcXVpcmVkU3ZjKSB7XG4gICAgICBpZiAodGhpcy5sYWJlbFRleHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmRpc3BsYXkgPSAnbm9uZSc7XG4gICAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLiNsYWJlbFRleHRSZXF1aXJlZFN2Yy52YWxpZGF0ZUxhYmVsVGV4dCh0aGlzLmxhYmVsVGV4dCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import { SkyLogService } from '@skyux/core';
3
- import * as i0 from "@angular/core";
4
- /**
5
- * Requires child form field components of field groups to use label text.
6
- * @internal
7
- */
8
- export class SkyFormFieldLabelTextRequiredService {
9
- #loggerService = inject(SkyLogService);
10
- validateLabelText(text) {
11
- if (typeof text === 'undefined') {
12
- this.#loggerService.error('All form fields within <sky-field-group> must have `labelText` set on initialization.');
13
- }
14
- }
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormFieldLabelTextRequiredService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
16
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormFieldLabelTextRequiredService }); }
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: SkyFormFieldLabelTextRequiredService, decorators: [{
19
- type: Injectable
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1maWVsZC1sYWJlbC10ZXh0LXJlcXVpcmVkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL3NoYXJlZC9mb3JtLWZpZWxkLWxhYmVsLXRleHQtcmVxdWlyZWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUU1Qzs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sb0NBQW9DO0lBQ3RDLGNBQWMsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFFekMsaUJBQWlCLENBQUMsSUFBK0I7UUFDdEQsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FDdkIsdUZBQXVGLENBQ3hGLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzs4R0FUVSxvQ0FBb0M7a0hBQXBDLG9DQUFvQzs7MkZBQXBDLG9DQUFvQztrQkFEaEQsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuLyoqXG4gKiBSZXF1aXJlcyBjaGlsZCBmb3JtIGZpZWxkIGNvbXBvbmVudHMgb2YgZmllbGQgZ3JvdXBzIHRvIHVzZSBsYWJlbCB0ZXh0LlxuICogQGludGVybmFsXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTa3lGb3JtRmllbGRMYWJlbFRleHRSZXF1aXJlZFNlcnZpY2Uge1xuICByZWFkb25seSAjbG9nZ2VyU2VydmljZSA9IGluamVjdChTa3lMb2dTZXJ2aWNlKTtcblxuICBwdWJsaWMgdmFsaWRhdGVMYWJlbFRleHQodGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdGV4dCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHRoaXMuI2xvZ2dlclNlcnZpY2UuZXJyb3IoXG4gICAgICAgICdBbGwgZm9ybSBmaWVsZHMgd2l0aGluIDxza3ktZmllbGQtZ3JvdXA+IG11c3QgaGF2ZSBgbGFiZWxUZXh0YCBzZXQgb24gaW5pdGlhbGl6YXRpb24uJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,14 +0,0 @@
1
- import { OnInit } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * Hide form field components of field groups that are missing label text.
5
- * @internal
6
- */
7
- export declare class SkyFormFieldLabelTextRequiredDirective implements OnInit {
8
- #private;
9
- labelText: string | null | undefined;
10
- display: 'none' | undefined;
11
- ngOnInit(): void;
12
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyFormFieldLabelTextRequiredDirective, never>;
13
- static ɵdir: i0.ɵɵDirectiveDeclaration<SkyFormFieldLabelTextRequiredDirective, "[skyFormFieldLabelTextRequired]", never, { "labelText": { "alias": "labelText"; "required": false; }; }, {}, never, never, true, never>;
14
- }
@@ -1,11 +0,0 @@
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
- #private;
8
- validateLabelText(text: string | null | undefined): void;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<SkyFormFieldLabelTextRequiredService, never>;
10
- static ɵprov: i0.ɵɵInjectableDeclaration<SkyFormFieldLabelTextRequiredService>;
11
- }