UNPKG

@ux-aspects/ux-aspects

Version:

Open source user interface framework for building modern, responsive, mobile big data applications

62 lines (61 loc) 3.85 kB
import { FocusOrigin } from '@angular/cdk/a11y'; import { EventEmitter, ExistingProvider } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { FocusIndicatorDirective } from '../../directives/accessibility'; import { FocusableControl } from '../menu/interfaces/focusable-control.interface'; import * as i0 from "@angular/core"; export declare const CHECKBOX_VALUE_ACCESSOR: ExistingProvider; export declare class CheckboxComponent<T = number> implements ControlValueAccessor, FocusableControl { private readonly _changeDetector; /** Provide a default unique id value for the checkbox */ _checkboxId: string; /** Determines if the checkbox should be checked, unchecked or indeterminate. */ id: string; /** Specifies the form name of the element. */ name: string | null; /** Determines if the checkbox should be checked, unchecked or indeterminate. */ value: boolean | T; /** Specified if this is a required input. */ required: boolean; /** Specifies the tabindex of the input. */ tabindex: number; /** If set to `true` the checkbox will not toggle state when clicked. */ clickable: boolean; /** If set to `true` the checkbox will be displayed without a border and background. */ simplified: boolean; /** * If `value` is set to the indeterminate value specified using this attribute, it will neither * display the checkbox as checked or unchecked, and will instead show the indeterminate variation. */ indeterminateValue: T | number; /** Specify if the checkbox should be disabled. */ disabled: boolean; /** Provide an aria label for the checkbox. */ ariaLabel: string; /** Provide an aria-labelled by property for the checkbox. */ ariaLabelledby: string; /** Emits when `value` has been changed. */ valueChange: EventEmitter<boolean | T>; /** Determine if the underlying input component has been focused with the keyboard */ _focused: boolean; /** Used to inform Angular forms that the component has been touched */ onTouchedCallback: () => void; /** Used to inform Angular forms that the component value has changed */ onChangeCallback: (_: boolean | T) => void; /** Get the focus indicator to set focus */ _focusIndicator?: FocusIndicatorDirective; /** Toggle the current state of the checkbox */ toggle(): void; writeValue(value: boolean | T): void; /** Allow Angular forms for provide us with a callback for when the input value changes */ registerOnChange(fn: (_: boolean | T) => void): void; /** Allow Angular forms for provide us with a callback for when the touched state changes */ registerOnTouched(fn: () => void): void; /** Allow Angular forms to disable the component */ setDisabledState(isDisabled: boolean): void; /** Focus the input element */ focus(origin: FocusOrigin): void; setInputTabIndex(tabindex: number): void; static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxComponent<any>, never>; static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxComponent<any>, "ux-checkbox", never, { "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "value": { "alias": "value"; "required": false; }; "required": { "alias": "required"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "clickable": { "alias": "clickable"; "required": false; }; "simplified": { "alias": "simplified"; "required": false; }; "indeterminateValue": { "alias": "indeterminateValue"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; }, { "valueChange": "valueChange"; }, never, ["*"], false, never>; }