@exmg/exmg-radio-group
Version:
Paper style radio group element
33 lines (32 loc) • 1.3 kB
TypeScript
import { ExmgRadioGroupItem } from './exmg-radio-group-item.js';
declare class SelectionSet {
selected: ExmgRadioGroupItem | null;
focused: ExmgRadioGroupItem | null;
ordered: ExmgRadioGroupItem[] | null;
readonly set: Set<ExmgRadioGroupItem>;
}
export declare class SelectionController {
private sets;
private mouseIsDown;
private updating;
static getController(element: Node): SelectionController;
constructor(element: Node);
protected keyDownHandler(e: KeyboardEvent): void;
protected mousedownHandler(): void;
protected mouseupHandler(): void;
has(element: ExmgRadioGroupItem): boolean;
previous(element: ExmgRadioGroupItem): void;
next(element: ExmgRadioGroupItem): void;
select(element: ExmgRadioGroupItem): void;
/**
* Helps to track the focused selection group and if it changes, focuses
* the selected item in the group. This matches native radio button behavior.
*/
focus(element: ExmgRadioGroupItem): void;
getOrdered(element: ExmgRadioGroupItem): ExmgRadioGroupItem[];
getSet(name: string): SelectionSet;
register(element: ExmgRadioGroupItem): void;
unregister(element: ExmgRadioGroupItem): void;
update(element: ExmgRadioGroupItem): void;
}
export {};