import * as i0 from '@angular/core'; import { ChangeDetectorRef, PipeTransform, AfterViewInit, TemplateRef, EventEmitter, ElementRef, AfterContentInit, OnInit, OnDestroy, QueryList, DoCheck, KeyValueDiffers, AfterContentChecked, RendererFactory2, NgZone, InjectionToken } from '@angular/core'; import * as i4$1 from '@angular/forms'; import { Validator, AbstractControl, ValidationErrors, ControlValueAccessor, FormGroup, NgControl, FormControlDirective, FormControlName, NgModel, AbstractControlDirective } from '@angular/forms'; import * as i4 from '@angular/common'; import * as i1 from '@skyux/i18n'; import { SkyLibResourcesService } from '@skyux/i18n'; import { Observable, ReplaySubject, Subject } from 'rxjs'; import * as i1$1 from '@skyux/theme'; import { SkyThemeService } from '@skyux/theme'; import * as i10 from '@skyux/help-inline'; import * as i11 from '@skyux/icon'; import * as i12 from '@skyux/core'; import { SkyCoreAdapterService, SkyMediaBreakpoints, SkyMutationObserverService, SkyIdService } from '@skyux/core'; import { NumberInput, BooleanInput } from '@angular/cdk/coercion'; declare class SkyCharacterCounterIndicatorComponent { #private; constructor(changeDetector: ChangeDetectorRef); get characterCount(): number; set characterCount(count: number); get characterCountLimit(): number; set characterCountLimit(limit: number); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Creates an input field that validates the number of characters. Place this directive on * an `input` or `textarea` element. If users enter more characters than allowed, then the * input field is invalid and the component displays an error indicator. * @required */ declare class SkyCharacterCounterInputDirective implements Validator { #private; /** * The character count indicator component that displays the character count, * character limit, and over-the-limit indicator. Place this directive on an `input` or * `textarea` element. */ get skyCharacterCounterIndicator(): SkyCharacterCounterIndicatorComponent | undefined; set skyCharacterCounterIndicator(value: SkyCharacterCounterIndicatorComponent | undefined); /** * The maximum number of characters allowed in the input field. Place this directive * on an `input` or `textarea` element. This property accepts `number` values. * @required */ set skyCharacterCounterLimit(value: number | undefined); validate(control: AbstractControl): ValidationErrors | null; registerOnValidatorChange(fn: () => void): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class SkyCharacterCounterScreenReaderPipe implements PipeTransform { #private; transform(characterCount: number | undefined, characterCountLimit: number | undefined): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } /** * Import into any component library module that needs to use resource strings. */ declare class SkyFormsResourcesModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class SkyCharacterCounterModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * Fires when users select or deselect the checkbox. */ interface SkyCheckboxChange { /** * The value from the checkbox component. */ checked?: boolean; } type SkyCheckboxGroupHeadingLevel = 3 | 4 | 5; type SkyCheckboxGroupHeadingStyle = 3 | 4 | 5; /** * Replaces the HTML input element with `type="checkbox"`. When users select a checkbox, its value * is driven through an `ngModel` attribute that you specify on the `sky-checkbox` element. */ declare class SkyCheckboxComponent implements AfterViewInit, ControlValueAccessor, Validator { #private; /** * The ARIA label for the checkbox. This sets the checkbox's `aria-label` attribute * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility) * when the checkbox does not include a visible label. You must set this property for icon * checkboxes. If the checkbox includes a visible label, use `labelledBy` instead. * @deprecated Use `labelText` instead. */ set label(value: string | undefined); get label(): string | undefined; /** * The HTML element ID of the element that labels the * checkbox. This sets the checkbox's `aria-labelledby` attribute * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility). * If the checkbox does not include a visible label, use `label` instead. * @deprecated Use `labelText` instead. */ set labelledBy(value: string | undefined); get labelledBy(): string | undefined; /** * The ID for the checkbox. * If a value is not provided, an autogenerated ID is used. */ set id(value: string | undefined); /** * Whether to disable the checkbox on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync. * To set the disabled state on reactive forms, use the `FormControl` instead. * @default false */ set disabled(value: boolean); /** * Whether the checkbox is disabled. */ get disabled(): boolean; /** * The index for the checkbox. If not defined, the index is set to the position of the * checkbox on load. */ tabindex: number | undefined; /** * The name for the checkbox. * If a value is not provided, an autogenerated ID is used. */ set name(value: string | undefined); get name(): string; /** * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to the checkbox label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * Fires when the selected value changes. */ change: EventEmitter; /** * The SVG icon to display in place of the checkbox. To group icon checkboxes * like in the demo, place the checkboxes within a `sky-checkbox-group`. */ iconName: string | undefined; /** * The background color type after users select a checkbox where the * `icon` property displays an icon in place of the checkbox. The valid options correspond to * [the label component's](https://developer.blackbaud.com/skyux/components/label) * label types. `"info"` creates a blue background, `"success"` creates a green * background, `"warning"` creates an orange background, and `"danger"` creates a red background. * @default "info" * @deprecated The `checkboxType` input is no longer supported. */ set checkboxType(value: string | undefined); get checkboxType(): string; /** * Whether the checkbox is selected. * @default false */ set checked(value: boolean | undefined); /** * Whether the checkbox is selected. */ get checked(): boolean; /** * Whether the checkbox is in the indeterminate state. This has no visual effect for icon checkboxes. * @internal */ set indeterminate(value: boolean | undefined); get indeterminate(): boolean; /** * Whether the input is required for form validation. * When you set this property to `true`, the component adds `aria-required` and `required` * attributes to the input element so that forms display an invalid state until the input element * is complete. * @default false */ required: boolean; /** * The text to display as the checkbox's label. Use this instead of the `sky-checkbox-label` when the label is text-only. * Specifying `labelText` also enables automatic error message handling for checkbox. */ labelText: string | undefined; /** * Indicates whether to hide the `labelText`. */ labelHidden: boolean; /** * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides * additional context to the user. */ hintText: string | undefined; /** * Whether the checkbox is stacked on another form component. When specified, the appropriate * vertical spacing is automatically added to the checkbox. If the checkbox is within a checkbox group, * set `stacked` on the checkbox group component instead. */ stacked: boolean; /** * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the checkbox label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `labelText` is also specified. */ helpKey: string | undefined; /** * Fires when users select or deselect the checkbox. */ get checkedChange(): Observable; /** * Fires when the selected value changes. */ get disabledChange(): Observable; /** * Fires when the indeterminate state changes. * @internal */ get indeterminateChange(): Observable; set inputEl(el: ElementRef | undefined); get inputEl(): ElementRef | undefined; protected get isCheckboxRequired(): boolean; protected control: AbstractControl | undefined; protected inputId: string; protected readonly errorId: string; constructor(); ngAfterViewInit(): void; validate(control: AbstractControl): ValidationErrors | null; /** * Implemented as part of ControlValueAccessor. */ writeValue(value: any): void; /** * Implemented as part of ControlValueAccessor. */ registerOnChange(fn: (value: any) => void): void; /** * Implemented as part of ControlValueAccessor. */ registerOnTouched(fn: any): void; /** * Implemented as part of ControlValueAccessor. */ setDisabledState(isDisabled: boolean): void; /** * Event handler for checkbox input element. * Toggles checked state if element is not disabled. */ onInteractionEvent(event: Event): void; onInputBlur(): void; /** Called when the checkbox is blurred. Needed to properly implement ControlValueAccessor. */ onTouched: () => any; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_required: unknown; static ngAcceptInputType_labelHidden: unknown; static ngAcceptInputType_stacked: unknown; } /** * Specifies a label for the checkbox. To display a help button beside the label, include a help button element, such as * `sky-help-inline`, in the `sky-checkbox-label` element and a `sky-control-help` CSS class on that help button * element. * @deprecated Use `labelText` input on `sky-checkbox-component` instead. */ declare class SkyCheckboxLabelComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** @internal */ declare class SkyCheckboxLabelTextLabelComponent { #private; labelHidden: boolean; set labelText(value: string); get labelText(): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Organizes checkboxes into a group. */ declare class SkyCheckboxGroupComponent implements Validator { #private; /** * The content of the help popover. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to the checkbox group fieldset legend. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `headingText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * The text to display as the checkbox group's heading. */ headingText: string; /** * Indicates whether to hide the `headingText`. */ headingHidden: boolean; /** * The semantic heading level in the document structure. By default, the heading text is not wrapped in a heading element. */ set headingLevel(value: SkyCheckboxGroupHeadingLevel | undefined); get headingLevel(): SkyCheckboxGroupHeadingLevel | undefined; /** * The heading [font style](https://developer.blackbaud.com/skyux/design/styles/typography#headings). * @default 4 */ set headingStyle(value: SkyCheckboxGroupHeadingStyle); /** * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides * additional context to the user. */ hintText: string | undefined; /** * Whether the checkbox group is required. */ required: boolean; /** * Whether the checkbox group is stacked on another form component. When specified, the appropriate * vertical spacing is automatically added to the checkbox group. */ set stacked(value: boolean); get stacked(): boolean; /** * A help key that identifies the global help content to display. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the checkbox group heading. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `headingText` is also specified. */ helpKey: string | undefined; stackedLg: boolean; stackedXL: boolean; protected errorId: string; protected headingClass: string; protected formErrorsDataId: string; protected formGroup: FormGroup | null | undefined; validate(formGroup: FormGroup): ValidationErrors | null; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_headingHidden: unknown; static ngAcceptInputType_headingLevel: unknown; static ngAcceptInputType_headingStyle: unknown; static ngAcceptInputType_required: unknown; static ngAcceptInputType_stacked: unknown; } /** * Displays default and custom form field error messages for form field components. * Set `labelText` on the `SkyInputBoxComponent` to automatically display required, * maximum length, minimum length, date, email, phone number, time, and URL errors. * To display custom errors, include `sky-form-error` elements in the `SkyInputBoxComponent`. */ declare class SkyFormErrorComponent { /** * The name of the error. * @required */ errorName: string; /** * The error message to display. * @required */ errorText: string; get dataErrorName(): string; protected readonly formErrors: boolean | null; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SkyFormErrorModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * @internal */ declare class SkyFormErrorsComponent { /** * The validation errors from the form control. */ errors: ValidationErrors | null | undefined; /** * Input label text to display in the error messages. */ labelText: string | undefined; /** * Indicates whether the parent component's control is touched */ touched: boolean; /** * Indicates whether the parent component's control is dirty */ dirty: boolean; protected readonly ariaAtomic = "true"; protected readonly ariaLive = "assertive"; protected readonly ariaRelevant = "all"; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_touched: unknown; static ngAcceptInputType_dirty: unknown; } /** * @internal */ declare class SkyFormErrorsModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } declare class SkyCheckboxModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } type SkyFieldGroupHeadingLevel = 3 | 4; type SkyFieldGroupHeadingStyle = 3 | 4; /** * Organizes form fields into a group. */ declare class SkyFieldGroupComponent { /** * The text to display as the field group's heading. */ headingText: string; /** * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides * additional context to the user. */ hintText: string | undefined; /** * Indicates whether to hide the `headingText`. */ headingHidden: boolean; /** * Whether the field group is stacked on another field group. When specified, the appropriate * vertical spacing is automatically added to the field group. */ stacked: boolean; /** * The semantic heading level in the document structure. * @default 3 */ headingLevel: SkyFieldGroupHeadingLevel; /** * The heading [font style](https://developer.blackbaud.com/skyux/design/styles/typography#headings). * @default 3 */ set headingStyle(value: SkyFieldGroupHeadingStyle); /** * The content of the help popover. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to the field group heading. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `headingText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * A help key that identifies the global help content to display. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the field group heading. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `headingText` is also specified. */ helpKey: string | undefined; protected headingClass: string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_headingHidden: unknown; static ngAcceptInputType_stacked: unknown; static ngAcceptInputType_headingLevel: unknown; static ngAcceptInputType_headingStyle: unknown; } declare class SkyFieldGroupModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * The type of error that was thrown. */ type SkyFileItemErrorType = 'fileType' | 'minFileSize' | 'maxFileSize' | 'validate'; interface SkyFileItem { /** * The object that was added or removed. */ file: File; /** * The [data URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs) * for the file that was added or removed. */ url: string; /** * The type of error that caused the file to be rejected. */ errorType?: SkyFileItemErrorType; /** * Additional parameters about the error that caused the file to be rejected. */ errorParam?: string; } interface SkyFileAttachmentChange { /** * The file that was added, or undefined if the file was removed. */ file?: SkyFileItem; } interface SkyFileAttachmentClick { /** * The file that was clicked. */ file: SkyFileItem; } /** * @internal */ declare class SkyFileItemService { isFile(fileItem: SkyFileItem): boolean; isImage(fileItem: SkyFileItem): boolean; getFileExtensionUpper(fileItem: SkyFileItem): string; getFileTypeUpper(fileItem: SkyFileItem): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Custom validation run on each file uploaded. The string returned is used as the error message in multi-file attachment. */ type SkyFileValidateFn = (file: SkyFileItem) => string | undefined; /** * Displays a label above the file attachment element. To display a help button * beside the label, include a help button element, such as `sky-help-inline`, * in the `sky-file-attachment-label` element and a `sky-control-help` CSS class * on that help button element. * @deprecated Use the `labelText` input on the single file attachment component * instead. */ declare class SkyFileAttachmentLabelComponent { labelContentId: { id: string; } | undefined; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * @internal */ declare class SkyFileAttachmentService { #private; checkFiles(files: SkyFileItem[], minFileSize: number, maxFileSize: number, acceptedTypes?: string, validateFn?: SkyFileValidateFn): SkyFileItem[]; /** * Returns `true` if a directory is found in the provided `files` parameter. */ hasDirectory(files: FileList): boolean; fileTypeRejected(fileType: string, acceptedTypes?: string): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Provides an element to attach a single local file. */ declare class SkyFileAttachmentComponent implements AfterViewInit, AfterContentInit, ControlValueAccessor, OnInit, OnDestroy { #private; /** * The comma-delimited string literal of MIME types that users can attach. * By default, all file types are allowed. */ acceptedTypes: string | undefined; /** * A custom error message to display when a file doesn't match the accepted types. * This replaces a default error message that lists all accepted types. */ acceptedTypesErrorMessage: string | undefined; /** * Whether to disable the input on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync. * To set the disabled state on reactive forms, use the `FormControl` instead. */ disabled: boolean; /** * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to the single file attachment label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the single file attachment label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `labelText` is also specified. */ helpKey: string | undefined; /** * The text to display as the file attachment's label. */ labelText: string | undefined; /** * Whether to hide `labelText` from view. */ labelHidden: boolean; /** * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides * additional context to the user. */ hintText: string | undefined; /** * The maximum size in bytes for valid files. * @default 500000 */ set maxFileSize(value: number | undefined); get maxFileSize(): number; /** * The minimum size in bytes for valid files. * @default 0 */ set minFileSize(value: number | undefined); get minFileSize(): number; /** * Whether the single file attachment is stacked on another form component. When specified, * the appropriate vertical spacing is automatically added to the single file attachment. */ stacked: boolean; /** * The custom validation function. This validation runs alongside the internal * file validation. This function takes a `SkyFileItem` object as a parameter. * @deprecated Add a custom Angular `Validator` function to the `FormControl` instead. */ validateFn: SkyFileValidateFn | undefined; /** * Fires when users add or remove files. * @deprecated Subscribe to the form control's `valueChanges` event instead. */ fileChange: EventEmitter; /** * Fires when users select the file name link. Make sure to bind the event. * If you do not, the file name link will be a dead link. */ fileClick: EventEmitter; acceptedOver: boolean; hasLabelComponent: boolean; rejectedOver: boolean; /** * Whether the input is required for form validation. * When you set this property to `true`, the component adds `aria-required` and `required` * attributes to the input element so that forms display an invalid state until the input element * is complete. * For more information about the `aria-required` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-required). */ required: boolean; set value(value: SkyFileItem | undefined | null); get value(): SkyFileItem | undefined; currentThemeName: string | undefined; fileName: string; showFileAttachmentButton: boolean; truncatedFileName: string; inputEl: ElementRef | undefined; labelComponents: QueryList | undefined; isImage: boolean; protected get isRequired(): boolean; protected ngControl: NgControl | undefined; protected errorId: string; protected labelId: string; protected fileErrorName: SkyFileItemErrorType | undefined; protected fileErrorParam: string | undefined; protected fileErrorValidation: ValidationErrors | null | undefined; constructor(changeDetector: ChangeDetectorRef, fileAttachmentService: SkyFileAttachmentService, fileItemService: SkyFileItemService, ngControl?: NgControl, themeSvc?: SkyThemeService); ngOnInit(): void; ngAfterViewInit(): void; ngAfterContentInit(): void; onButtonBlur(): void; onFileCancel(): void; onDropClicked(): void; fileChangeEvent(fileChangeEvent: Event): void; fileDragEnter(dragEnterEvent: DragEvent): void; fileDragOver(dragOverEvent: DragEvent): void; fileDrop(dropEvent: DragEvent): void; fileDragLeave(dragLeaveEvent: DragEvent): void; deleteFileAttachment(): void; ngOnDestroy(): void; registerOnChange(fn: (value: any) => any): void; registerOnTouched(fn: () => any): void; writeValue(value: any): void; /** * @internal * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor. * @param isDisabled Whether the control should be disabled. */ setDisabledState(isDisabled: boolean): void; emitClick(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_labelHidden: unknown; static ngAcceptInputType_stacked: unknown; static ngAcceptInputType_required: unknown; } declare class SkyFileAttachmentModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } interface SkyFileDropChange { /** * The array of files that were added or removed. */ files: SkyFileItem[]; /** * The array of files that were rejected. */ rejectedFiles: SkyFileItem[]; } interface SkyFileLink { /** * The URL for the linked file. */ url: string; } /** * Provides an element to attach multiple files where users can browse or drag and drop local files * or provide hyperlinks to external files. You can leave the contents of the component * blank to display the drop zone's default UI, or you can specify custom content to * display instead. When the module initializes, it disables the ability to drag and * drop files for the entire window to prevent the browser from opening files that are * accidentally dropped outside the target zone. If you implement your own file drop functionality * outside of the file drop component, you can place the `sky-file-drop-target` CSS class * on the element that receives drop events to exempt it from the drop exclusion rule. */ declare class SkyFileDropComponent implements OnDestroy, ControlValueAccessor { #private; /** * Fires when users add or remove files. */ filesChanged: EventEmitter; /** * Fires when the link input box triggers a blur event. */ linkInputBlur: EventEmitter; /** * Fires when users add or remove links. */ linkChanged: EventEmitter; /** * The ARIA label for the file upload button. This provides a text equivalent for * screen readers [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility). * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label). * @default "Drag a file here or click to browse" */ fileUploadAriaLabel: string | undefined; /** * The ARIA label for the link upload input. This sets the button's `aria-label` attribute to provide a text equivalent for * screen readers [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility). * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label). * @default "Link to a file" */ linkUploadAriaLabel: string | undefined; /** * The hint text for the link upload input. */ linkUploadHintText: string | undefined; /** * The minimum size in bytes for valid files. * @default 0 */ set minFileSize(value: number | undefined); get minFileSize(): number; /** * The maximum size in bytes for valid files. * @default 500000 */ set maxFileSize(value: number | undefined); get maxFileSize(): number; /** * Whether users can drag and drop multiple files at the same time. */ multiple: boolean | undefined; /** * The custom validation function. This validation runs alongside the internal * file validation. This function takes a `SkyFileItem` object as a parameter. * The string returned is used as the error message in multi-file attachment. */ validateFn: SkyFileValidateFn | undefined; /** * The comma-delimited string literal of MIME types that users can attach. * By default, all file types are allowed. * @required */ acceptedTypes: string | undefined; /** * A custom error message to display when a file doesn't match the accepted types. * This replaces a default error message that lists all accepted types. */ acceptedTypesErrorMessage: string | undefined; /** * Whether to disable the option to browse for files to attach. */ noClick: boolean | undefined; /** * Whether to display the option to attach files from URLs rather than from local devices. */ allowLinks: boolean | undefined; /** * The text to display as the file attachment's label. */ labelText: string | undefined; /** * Whether to hide `labelText` from view. */ labelHidden: boolean; /** * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides * additional context to the user. */ hintText: string | undefined; /** * Whether uploading a file or link is required. * When you set this property to `true`, the component adds `aria-required` and `required` * attributes to the input elements so that screen readers announce an invalid state until the input element * is complete. * For more information about the `aria-required` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-required). */ required: boolean; /** * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to the file attachment label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * Whether the file attachment is stacked on another form component. When specified, the appropriate * vertical spacing is automatically added to the file attachment. */ stacked: boolean; /** * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the file attachment label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `labelText` is also specified. */ helpKey: string | undefined; inputEl: ElementRef | undefined; rejectedOver: boolean; acceptedOver: boolean; linkUrl: string | undefined; protected errorId: string; protected ngControl: NgControl | null; protected rejectedFiles: SkyFileItem[]; constructor(); ngOnDestroy(): void; writeValue(value: unknown): void; registerOnChange(fn: any): void; registerOnTouched(fn: () => void): void; dropClicked(): void; fileChangeEvent(fileChangeEvent: Event): void; fileDragEnter(dragEnterEvent: DragEvent): void; fileDragOver(dragOverEvent: DragEvent): void; fileDrop(dropEvent: DragEvent): void; fileDragLeave(dragLeaveEvent: any): void; addLinkEnter(event: KeyboardEvent): void; addLink(event: Event): void; protected uploadLink(file: SkyFileLink): void; onLinkBlur(): void; protected get isRequired(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_labelHidden: unknown; static ngAcceptInputType_required: unknown; static ngAcceptInputType_stacked: unknown; } declare class SkyFileItemComponent implements DoCheck { #private; /** * The summary information to display about file attachments. For local files, * the default summary includes the file name, file size, file preview, and a delete button. * For external files, the default summary includes the URL and a delete button. * You can include additional inputs to display user-entered metadata. * @required */ set fileItem(value: SkyFileItem | SkyFileLink | undefined); get fileItem(): SkyFileItem | SkyFileLink | undefined; /** * Fires when users select the delete button for an item. The deleted item is passed to the * function. */ deleteFile: EventEmitter; fileName: string; fileSize: number | undefined; url: string; icon: string | undefined; isFile: boolean; isImage: boolean; constructor(differs: KeyValueDiffers, fileItemService: SkyFileItemService); ngDoCheck(): void; itemDelete(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SkyFileDropModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * @deprecated Import either `SkyFileAttachmentModule` or `SkyFileDropModule`. */ declare class SkyFileAttachmentsModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * @internal */ declare class SkyFileSizePipe implements PipeTransform { #private; constructor(resourcesService: SkyLibResourcesService); transform(input?: number | string | null): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } /** * @internal */ interface SkyInputBoxPopulateArgs { inputTemplate: TemplateRef; buttonsTemplate?: TemplateRef; buttonsLeftTemplate?: TemplateRef; buttonsInsetTemplate?: TemplateRef; iconsInsetTemplate?: TemplateRef; iconsInsetLeftTemplate?: TemplateRef; } /** * A wrapper component that provides styling and accessibility to form elements. */ declare class SkyInputBoxComponent implements OnInit, AfterContentChecked, OnDestroy { #private; /** * Whether to visually highlight the input box in an error state. If not specified, the input box * displays in an error state when either the `ngModel` or the Angular `FormControl` contains an error. * @default undefined */ hasErrors: boolean | undefined; /** * Whether to visually highlight the input box as disabled. To disable the input box's * input element, use the HTML `disabled` attribute or the Angular `FormControl.disabled` * property. If the input element is mapped to an Angular form control * (e.g. `formControlName`, `ngModel`, etc.), "disabled" styles are applied automatically; * if the input element is not associated with an Angular form control, the `disabled` * property on the input box must be set to `true` to visually indicate * the disabled state on the input box. * @default false */ disabled: boolean | undefined; /** * The text to display as the input's label and in known validation error messages. The label * will automatically be associated with the `input`, `select`, `textarea`, or compatible SKY UX * component included in the input box. */ labelText: string | undefined; /** * The maximum number of characters to allow in the input box. This property places a * [SKY UX character count](https://developer.blackbaud.com/skyux/components/character-count) * on the input element with the appropriate validator, so don't use it with inputs where * users are unlikely to exceed character limits. Instead, use * [Angular's max length validator](https://angular.io/api/forms/MaxLengthValidator) and a * `maxLength` attribute on the input element to handle maximum length validation. * */ set characterLimit(value: NumberInput); get characterLimit(): number | undefined; /** * Whether the input box is stacked on another input box. When specified, the appropriate * vertical spacing is automatically added to the input box. */ set stacked(value: BooleanInput); /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to the input box label. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the input box label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `labelText` is also specified. */ helpKey: string | undefined; /** * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides * additional context to the user. */ set hintText(value: string | undefined); get hintText(): string | undefined; hostInputTemplate: TemplateRef | undefined; hostButtonsTemplate: TemplateRef | undefined; hostButtonsInsetTemplate: TemplateRef | undefined; hostButtonsLeftTemplate: TemplateRef | undefined; formControlHasFocus: boolean; hostIconsInsetTemplate: TemplateRef | undefined; hostIconsInsetLeftTemplate: TemplateRef | undefined; protected hintTextHidden: boolean; protected hintTextScreenReaderOnly: boolean; protected hostHintText: string | undefined; readonly controlId: string; readonly labelId: string; readonly errorId: string; readonly hintTextId: string; readonly ariaDescribedBy: ReplaySubject; cssClass: string; formControl: FormControlDirective | undefined; formControlByName: FormControlName | undefined; ngModel: NgModel | undefined; inputRef: ElementRef | undefined; protected controlDir: AbstractControlDirective | undefined; protected get isDisabled(): boolean; protected get hasErrorsComputed(): boolean; protected get required(): boolean; protected characterCountScreenReader: number; ngOnInit(): void; ngAfterContentChecked(): void; ngOnDestroy(): void; /** * Whether the input box component contains the focused element. * @internal */ containsElement(el: EventTarget): boolean; formControlFocusIn(): void; formControlFocusOut(): void; onInsetIconClick(): void; populate(args: SkyInputBoxPopulateArgs): void; /** * Returns an element inside the input box. * This can be used to query parts of a input box * that was populated through the `SkyInputBoxHostService` * @internal */ queryPopulatedElement(query: string): HTMLElement; setHintTextHidden(hide: boolean): void; setHostHintText(value: string | undefined): void; setHintTextScreenReaderOnly(hide: boolean): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * @internal */ declare class SkyInputBoxHostService implements OnDestroy { #private; required: Observable; get controlId(): string; get labelId(): string; get labelText(): string; get ariaDescribedBy(): Observable | undefined; init(host: SkyInputBoxComponent): void; ngOnDestroy(): void; populate(args: SkyInputBoxPopulateArgs): void; setHintText(hintText: string | undefined): void; setHintTextHidden(hide: boolean): void; setHintTextScreenReaderOnly(hide: boolean): void; /** * Set required so that input box displays the label correctly. When the input is supplied by the consumer it is a content * child that input box can read required from and this is unnecessary. When the input is supplied internally by the * component the input box does not have a ref to it, so the component needs to inform the input box of its required state. */ setRequired(required: boolean): void; /** * Whether the focused element is inside the input box. * @internal */ focusIsInInput(el: EventTarget): boolean; /** * Returns an html element that is inside the input box. * @internal */ queryHost(query: string): HTMLElement | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * @internal */ declare class SkyInputBoxControlDirective { #private; set autocomplete(value: string | undefined); get autocomplete(): string | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * @internal */ declare class SkyInputBoxHintTextPipe implements PipeTransform { transform(hintText?: string, hostHintText?: string): string | undefined; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } declare class SkyInputBoxModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * Fires when users select a radio button. */ interface SkyRadioChange { /** * The value from the radio component. */ value: any; } /** * @deprecated radioType is no longer supported */ type SkyRadioType = 'danger' | 'info' | 'success' | 'warning'; /** * Renders a SKY UX-themed replacement for an HTML `input` element * with `type="radio"`. When users select a radio button, its value is driven through an * `ngModel` attribute that you specify on the `sky-radio` element or the parent `sky-radio-group` element. */ declare class SkyRadioComponent implements OnDestroy, ControlValueAccessor { #private; /** * Fires when users focus off a radio button. */ blur: Subject; /** * Whether the radio button is selected. * @default false */ set checked(value: boolean | undefined); get checked(): boolean; /** * Whether to disable the input on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync. * To set the disabled state on reactive forms, use the `FormControl` instead. * @default false */ set disabled(value: boolean); get disabled(): boolean; /** * The ID for the radio button. * If a value is not provided, an autogenerated ID is used. */ set id(value: string | undefined); /** * The ARIA label for the radio button. This sets the radio button's `aria-label` * attribute to provide a text equivalent for screen readers [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility) * when the radio button does not include a visible label. You must set this property for icon * radio buttons. If the radio button includes a visible label, use `labelledBy` instead. * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label). * @deprecated Use `labelText` instead. */ set label(value: string | undefined); get label(): string | undefined; /** * The HTML element ID of the element that labels * the radio button. This sets the radio button's `aria-labelledby` attribute to provide a text equivalent for screen readers * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility). * If the radio button does not include a visible label, use `label` instead. * For more information about the `aria-labelledby` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-labelledby). * @deprecated Use `labelText` instead. */ set labelledBy(value: string | undefined); get labelledBy(): string | undefined; /** * This property is deprecated in favor of the `name` property on the `sky-radio-group element`. * We recommend using the `sky-radio-group` element with all radio buttons, but if you opt not to, * then this property specifies a name for a group of radio buttons. * @deprecated */ set name(value: string | undefined); get name(): string | undefined; /** * This property is deprecated in favor of * the `tabIndex` property on the `sky-radio-group` element. It specifies an index for the radio * button. If the index is not defined, it is set to the position of the radio button on load. * @deprecated */ set tabindex(value: number | undefined); get tabindex(): number; set groupTabIndex(value: number | undefined); /** * The value bound to the radio button's `value` property. The value usually * corresponds to the radio button's label, which you specify with the `sky-radio-label` * component. * @required */ set value(value: any); get value(): any; /** * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to radio button. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * The SVG icon to display in place of the radio button. To group radio buttons like in * the demo above, place the `sky-switch-icon-group` class on the direct parent element of the * radio buttons. */ iconName: string | undefined; /** * The background color type after users select an icon radio button. * The valid options correspond * [the label component's](https://developer.blackbaud.com/skyux/components/label) * label types. `danger` creates a red background, `info` creates a blue background, * `success` creates a green background, and `warning` creates an orange background. * @default "info" * @deprecated radioType is no longer supported */ get radioType(): SkyRadioType; set radioType(value: SkyRadioType | undefined); /** * The text to display as the radio button's label. Use this instead of the `sky-radio-label` when the label is text-only. */ labelText: string | undefined; /** * Indicates whether to hide the `labelText`. */ labelHidden: boolean; /** * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides * additional context to the user. */ hintText: string | undefined; /** * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the radio button label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `labelText` is also specified. */ helpKey: string | undefined; /** * Fires when users select a radio button. */ change: EventEmitter; /** * Fires when the selected value changes. */ checkedChange: EventEmitter; /** * Fires when the selected value changes. */ disabledChange: EventEmitter; set selectedValue(value: any); get selectedValue(): any; radioGroupDisabled: boolean; protected inputId: string; constructor(); ngOnDestroy(): void; writeValue(value: unknown): void; /** * @internal * Whether to disable the control. Implemented as a part of ControlValueAccessor. */ setDisabledState(isDisabled: boolean): void; setGroupDisabledState(isDisabled: boolean): void; registerOnChange(fn: any): void; registerOnTouched(fn: any): void; onInputChange(event: Event): void; onInputFocusChange(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_labelHidden: unknown; } /** * Tracks the element IDs for all radios within a radio group. * @internal */ declare class SkyRadioGroupIdService { #private; get radioIds(): Observable; constructor(); /** * Associates a radio input's ID with its parent radio group. * @param {string} id A unique ID for the radio component. * @param {string} inputElementId The ID applied to the radio input element. */ register(id: string, inputElementId: string): void; /** * Disassociates a radio input's ID with its parent radio group. * @param {string} id The ID used to register the radio component. */ unregister(id: string): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } type SkyRadioGroupHeadingLevel = 3 | 4 | 5; type SkyRadioGroupHeadingStyle = 3 | 4 | 5; /** * Organizes radio buttons into a group. It is required for radio * buttons on Angular reactive forms, and we recommend using it with all radio buttons. * On Angular forms, the component manages the selected values and keeps the forms up-to-date. * When users select a radio button, its value is driven through an `ngModel` attribute that you specify on the `sky-radio-group` element. */ declare class SkyRadioGroupComponent implements AfterContentInit, OnDestroy { #private; /** * The HTML element ID of the element that labels * the radio button group. This sets the radio button group's `aria-labelledby` attribute to provide a text equivalent for screen readers * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility). * If the radio button group does not include a visible label, use `ariaLabel` instead. * For more information about the `aria-labelledby` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-labelledby). * @deprecated Use `headingText` instead. */ set ariaLabelledBy(value: string | undefined); get ariaLabelledBy(): string | undefined; /** * The ARIA label for the radio button group. This sets the * radio button group's `aria-label` attribute to provide a text equivalent for screen readers * [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility). * If the radio button group includes a visible label, use `ariaLabelledBy` instead. * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label). * @deprecated Use `headingText` instead. */ set ariaLabel(value: string | undefined); get ariaLabel(): string | undefined; /** * Whether to disable the input on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync. * To set the disabled state on reactive forms, use the `FormControl` instead. * @default false */ set disabled(value: boolean); get disabled(): boolean; /** * The semantic heading level in the document structure. By default, the heading text is not wrapped in a heading element. */ set headingLevel(value: SkyRadioGroupHeadingLevel | undefined); get headingLevel(): SkyRadioGroupHeadingLevel | undefined; /** * The heading [font style](https://developer.blackbaud.com/skyux/design/styles/typography#headings). * @default 4 */ set headingStyle(value: SkyRadioGroupHeadingStyle); /** * The name for the collection of radio buttons that the component groups together. * This property overwrites the deprecated `name` property on individual `sky-radio` elements, * and it is required unless the `name` property is set on individual `sky-radio` elements. * @required */ set name(value: string | undefined); get name(): string; /** * Whether the input is required for form validation. * When you set this property to `true`, the component adds `aria-required` and `required` * attributes to the input element so that forms display an invalid state until the input element * is complete. * For more information about the `aria-required` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-required). * @default false */ required: boolean; /** * Whether the radio button group is stacked on another form component. When specified, * the appropriate vertical spacing is automatically added to the radio button group. */ set stacked(value: boolean); get stacked(): boolean; /** * The value of the radio button to select by default when the group loads. * The value corresponds to the `value` property of an individual `sky-radio` element within the * group. */ set value(value: any); /** * The index for all the radio buttons in the group. If the index is not defined, * the indices for individual radio buttons are set to their positions on load. * This property supports accessibility by placing focus on the currently selected radio * button. If no radio button is selected, it places focus on the first or last button * depending on how users navigate to the radio button group. */ set tabIndex(value: number | undefined); get tabIndex(): number | undefined; /** * The text to display as the radio group's heading. */ headingText: string | undefined; /** * Indicates whether to hide the `headingText`. */ headingHidden: boolean; /** * [Persistent inline help text](https://developer.blackbaud.com/skyux/design/guidelines/user-assistance#inline-help) that provides * additional context to the user. */ hintText: string | undefined; /** * The content of the help popover. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to radio group. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `headingText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * A help key that identifies the global help content to display. When specified along with `headingText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the radio group heading. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `headingText` is also specified. */ helpKey: string | undefined; /** * Our radio components are usually implemented using an unordered list. This is an * accessibility violation because the unordered list has an implicit role which * interrupts the 'radiogroup' and 'radio' relationship. To correct this, we can set the * radio group's 'aria-owns' attribute to a space-separated list of radio IDs. * For more information about the `aria-owns` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-owns), and for more information about the `radio` role, see [its definition](https://www.w3.org/TR/wai-aria/#radio). */ ariaOwns: string | undefined; radios: QueryList | undefined; stackedLg: boolean; stackedXL: boolean; protected get isRequired(): boolean; protected headingClass: string; protected errorId: string; protected ngControl: NgControl | undefined; constructor(changeDetector: ChangeDetectorRef, radioGroupIdSvc: SkyRadioGroupIdService, ngControl: NgControl); ngAfterContentInit(): void; watchForSelections(): void; ngOnDestroy(): void; writeValue(value: unknown): void; /** * @internal * Whether to disable the control. Implemented as a part of ControlValueAccessor. */ setDisabledState(isDisabled: boolean): void; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: any): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_headingLevel: unknown; static ngAcceptInputType_headingStyle: unknown; static ngAcceptInputType_required: unknown; static ngAcceptInputType_stacked: unknown; static ngAcceptInputType_headingHidden: unknown; } /** * Specifies a label for the radio button. To display a help button beside the label, include a help button element, * such as `sky-help-inline`, in the `sky-radio-label` element and a `sky-control-help` CSS class on that help button * element. * @deprecated Use `labelText` input on `sky-radio-component` instead. */ declare class SkyRadioLabelComponent { onClick(event: MouseEvent): void; constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SkyRadioModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * A host directive used to capture the "required" state of the host's form control. * @internal */ declare class SkyRequiredStateDirective { #private; required: boolean; /** * Whether the `required` attribute is set to `true`, or the control includes * the `Validators.required` validator. */ isRequired(): boolean; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_required: unknown; } /** * @internal */ declare class SkySelectionBoxAdapterService { #private; constructor(coreAdapterService: SkyCoreAdapterService, rendererFactory: RendererFactory2); /** * Sets focus on the specified element. */ focus(el: ElementRef): void; /** * Returns a child element with the `.sky-switch` class. * Useful for getting SKY UX-themed radio buttons or checkboxes. */ getControl(el: ElementRef): HTMLElement; /** * Returns a breakpoint based on the width. * @param width Width of the element in pixels. */ getBreakpointForWidth(width: number | undefined): SkyMediaBreakpoints; /** * Returns the width of the `parentNode` of the provided `element`. */ getParentWidth(element: ElementRef): number | undefined; /** * Returns `true` if the `childEl` is a descendant of the `parentEl`. */ isDescendant(parentEl: ElementRef, childEl: HTMLElement): boolean; /** * Sets the `tabIndex` of all focusable children of the `element` to the provided `tabIndex`. */ setChildrenTabIndex(element: ElementRef, tabIndex: number): void; /** * Adds a responsive CSS class on the provided element based on its current width. */ setResponsiveClass(element: ElementRef, breakpoint: SkyMediaBreakpoints): void; /** * Sets the `tabIndex` of the `element` to the provided `tabIndex`. */ setTabIndex(element: ElementRef, tabIndex: number): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } /** * Creates a button to present users with a choice or question before proceeding with a one-time process. */ declare class SkySelectionBoxComponent implements OnDestroy { #private; /** * The radio button or checkbox to display in the selection box. * @required */ set control(value: SkyCheckboxComponent | SkyRadioComponent | undefined); get control(): SkyCheckboxComponent | SkyRadioComponent | undefined; set checked(value: boolean); get checked(): boolean; set disabled(value: boolean); get disabled(): boolean; controlEl: ElementRef | undefined; set selectionBoxEl(value: ElementRef | undefined); get selectionBoxEl(): ElementRef | undefined; constructor(changeDetector: ChangeDetectorRef, selectionBoxAdapterService: SkySelectionBoxAdapterService); ngOnDestroy(): void; onKeydown(event: KeyboardEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * @internal */ type SkySelectionBoxGridAlignItemsType = 'center' | 'left'; /** * Creates a grid layout for an array of selection boxes. */ declare class SkySelectionBoxGridComponent implements OnDestroy, OnInit { #private; /** * @internal * How to display the selection boxes in the grid. * @default 'center' */ set alignItems(value: SkySelectionBoxGridAlignItemsType | undefined); get alignItems(): SkySelectionBoxGridAlignItemsType; selectionBoxes: QueryList | undefined; set containerElementRef(value: ElementRef | undefined); get containerElementRef(): ElementRef | undefined; constructor(coreAdapterService: SkyCoreAdapterService, selectionBoxAdapter: SkySelectionBoxAdapterService, hostElRef: ElementRef, mutationObserverSvc: SkyMutationObserverService, ngZone: NgZone, themeSvc?: SkyThemeService); ngOnInit(): void; ngOnDestroy(): void; onWindowResize(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Specifies the description to display in a selection box. */ declare class SkySelectionBoxDescriptionComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Specifies the header to display in a selection box. */ declare class SkySelectionBoxHeaderComponent { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class SkySelectionBoxModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * @internal * @deprecated Use `SkySelectionBoxGridAlignItemsType` instead. */ declare const enum SkySelectionBoxGridAlignItems { /** * Center-aligns the selection boxes. */ Center = "center", /** * Left-aligns the selection boxes. */ Left = "left" } /** * Specifies the label to display beside the toggle switch. To display a help button beside the label, include a help * button element, such as `sky-help-inline`, in the `sky-toggle-switch` element and a `sky-control-help` CSS class on * that help button element. * @deprecated Use the `labelText` input on the toggle switch component instead. */ declare class SkyToggleSwitchLabelComponent { constructor(); static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } /** * Indicates whether the toggle switch is selected. */ interface SkyToggleSwitchChange { checked: boolean; } declare class SkyToggleSwitchComponent implements AfterContentInit, OnDestroy, ControlValueAccessor, Validator { #private; /** * The ARIA label for the toggle switch. This sets the `aria-label` * attribute to provide a text equivalent for screen readers [to support accessibility](https://developer.blackbaud.com/skyux/learn/accessibility). * Use a context-sensitive label, such as "Activate annual fundraiser" for a toggle switch that activates and deactivates an annual fundraiser. Context is especially important if multiple toggle switches are in close proximity. * When the `sky-toggle-switch-label` component displays a visible label, this property is only necessary if that label requires extra context. * For more information about the `aria-label` attribute, see the [WAI-ARIA definition](https://www.w3.org/TR/wai-aria/#aria-label). * @deprecated Use the `labelText` input instead. */ set ariaLabel(value: string | undefined); get ariaLabel(): string | undefined; /** * Whether the toggle switch is selected. * @default false */ set checked(value: boolean | undefined); get checked(): boolean; /** * Whether to disable the toggle switch on template-driven forms. Don't use this input on reactive forms because they may overwrite the input or leave the control out of sync. * To set the disabled state on reactive forms, use the `FormControl` instead. */ disabled: boolean | undefined; /** * The content of the help popover. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is added to the toggle switch. The help inline button displays a [popover](https://developer.blackbaud.com/skyux/components/popover) * when clicked using the specified content and optional title. This property only applies when `labelText` is also specified. */ helpPopoverContent: string | TemplateRef | undefined; /** * The title of the help popover. This property only applies when `helpPopoverContent` is * also specified. */ helpPopoverTitle: string | undefined; /** * The tab index for the toggle switch. If not defined, the index is set to the position * of the toggle switch on load. */ tabIndex: number | undefined; /** * The text to display as the toggle switch's label. */ labelText: string | undefined; /** * Whether to hide `labelText` from view. */ labelHidden: boolean; /** * A help key that identifies the global help content to display. When specified along with `labelText`, a [help inline](https://developer.blackbaud.com/skyux/components/help-inline) * button is placed beside the toggle switch label. Clicking the button invokes [global help](https://developer.blackbaud.com/skyux/learn/develop/global-help) * as configured by the application. This property only applies when `labelText` is also specified. */ helpKey: string | undefined; /** * Fires when the checked state of a toggle switch changes. */ toggleChange: EventEmitter; hasLabelComponent: boolean; labelId: string; enableIndicatorAnimation: boolean; labelComponents: QueryList | undefined; constructor(changeDetector: ChangeDetectorRef, idService: SkyIdService); ngAfterContentInit(): void; ngOnDestroy(): void; writeValue(value: boolean): void; validate(control: AbstractControl): ValidationErrors | null; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: any): void; setDisabledState(disabled: boolean): void; onButtonClick(event: any): void; onButtonBlur(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; static ngAcceptInputType_labelHidden: unknown; } declare class SkyToggleSwitchModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } /** * @internal */ declare const SKY_FORM_ERRORS_ENABLED: InjectionToken; export { SKY_FORM_ERRORS_ENABLED, SkyCharacterCounterModule, SkyCheckboxModule, SkyFieldGroupModule, SkyFileAttachmentModule, SkyFileAttachmentsModule, SkyFileDropModule, SkyFileSizePipe, SkyFormErrorModule, SkyFormErrorsModule, SkyInputBoxHostService, SkyInputBoxModule, SkyRadioModule, SkyRequiredStateDirective, SkySelectionBoxGridAlignItems, SkySelectionBoxModule, SkyToggleSwitchModule, SkyCharacterCounterIndicatorComponent as λ1, SkyInputBoxComponent as λ10, SkyRadioGroupComponent as λ11, SkyRadioLabelComponent as λ12, SkyRadioComponent as λ13, SkySelectionBoxDescriptionComponent as λ14, SkySelectionBoxGridComponent as λ15, SkySelectionBoxHeaderComponent as λ16, SkySelectionBoxComponent as λ17, SkyToggleSwitchLabelComponent as λ18, SkyToggleSwitchComponent as λ19, SkyCharacterCounterInputDirective as λ2, SkyInputBoxControlDirective as λ20, SkyFormErrorsComponent as λ21, SkyFormErrorComponent as λ22, SkyCharacterCounterScreenReaderPipe as λ23, SkyCheckboxGroupComponent as λ24, SkyFieldGroupComponent as λ25, SkyInputBoxHintTextPipe as λ26, SkyCheckboxComponent as λ3, SkyCheckboxLabelComponent as λ4, SkyFileAttachmentLabelComponent as λ6, SkyFileAttachmentComponent as λ7, SkyFileDropComponent as λ8, SkyFileItemComponent as λ9 }; export type { SkyCheckboxChange, SkyCheckboxGroupHeadingLevel, SkyCheckboxGroupHeadingStyle, SkyFieldGroupHeadingLevel, SkyFieldGroupHeadingStyle, SkyFileAttachmentChange, SkyFileAttachmentClick, SkyFileDropChange, SkyFileItem, SkyFileItemErrorType, SkyFileLink, SkyFileValidateFn, SkyInputBoxPopulateArgs, SkyRadioChange, SkyRadioGroupHeadingLevel, SkyRadioGroupHeadingStyle, SkyRadioType, SkySelectionBoxGridAlignItemsType, SkyToggleSwitchChange };