carbon-components-angular
Version:
Next generation components
129 lines (125 loc) • 3.57 kB
TypeScript
/*!
*
* Neutrino v0.0.0 | radio.component.d.ts
*
* Copyright 2014, 2018 IBM
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ChangeDetectorRef, ElementRef, OnInit, Renderer2 } from "@angular/core";
import { Checkbox } from "../checkbox/checkbox.component";
import { RadioGroup } from "./radio-group.component";
/**
* class: Radio (extends Checkbox)
*
* selector: `n-radio`
*
* source: `src/forms/radio.component.ts`
*
* ```html
* <ibm-radio [(ngModel)]="radioState">Radio</ibm-radio>
* ```
*
* Also see: [`RadioGroup`](#ibm-radio-group)
*
* @export
* @class Radio
* @extends {Checkbox}
* @implements {OnInit}
*/
export declare class Radio extends Checkbox implements OnInit {
changeDetectorRef: ChangeDetectorRef;
private elementRef;
private renderer;
/**
* Used to dynamically create unique ids for the `Radio`.
* @static
* @memberof Radio
*/
static radioCount: number;
/**
* Returns the value/state of the `Radio`.
* @readonly
* @type {any}
* @returns {any}
* @memberof Radio
*/
/**
* Replaces `@Input value` with the provided parameter supplied from the parent.
* @param {any} value
* @memberof Radio
*/
value: any;
/**
* Binds 'radio' value to the role attribute for `Radio`.
* @memberof Radio
*/
role: string;
/**
* The id for the `Radio`.
* @type {string}
* @memberof Radio
*/
id: string;
/**
* The radio group that this `Radio` belongs to (if any).
* @type {RadioGroup}
* @memberof Radio
*/
radioGroup: RadioGroup;
/**
* set to true if the `Radio` needs a tabIndex of 0.
* @type {RadioGroup}
* @memberof Radio
*/
needsToBeFocusable: boolean;
/**
* The value of the `Radio`.
* @type {any}
* @memberof Radio
*/
_value: any;
/**
* Creates an instance of Radio.
* @param {RadioGroup} radioGroup
* @param {ChangeDetectorRef} changeDetectorRef
* @param {ElementRef} elementRef
* @param {Renderer2} renderer
* @memberof Radio
*/
constructor(radioGroup: RadioGroup, changeDetectorRef: ChangeDetectorRef, elementRef: ElementRef, renderer: Renderer2);
/**
* If the component has an encompassing `RadioGroup` it synchronizes the name with that
* of the group.
* @memberof Radio
*/
ngOnInit(): void;
/**
* Handles the event of a mouse click on the `Radio`.
* @param {Event} event
* @memberof Radio
*/
onClick(event: Event): void;
/**
* Synchronizes with the `RadioGroup` in the event of a changed `Radio`.
* Emits the changes of both the `RadioGroup` and `Radio`.
* @param {Event} event
* @memberof Radio
*/
onChange(event: Event): void;
/**
* Calls the `markForCheck()` function within the `changeDetectorRef` class
* to make sure that Angular's change detection is triggered for the input.
* @memberof Radio
*/
markForCheck(): void;
}