@progress/kendo-angular-buttons
Version:
Buttons Package for Angular
99 lines (98 loc) • 4.37 kB
TypeScript
/**-----------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the project root for more information
*-------------------------------------------------------------------------------------------*/
import { ButtonComponent } from '../button/button.component';
import { EventEmitter, QueryList, OnInit, OnDestroy, AfterContentChecked, AfterViewChecked, AfterContentInit, ElementRef, SimpleChanges, Renderer2 } from '@angular/core';
import { LocalizationService } from '@progress/kendo-angular-l10n';
import { ButtonGroupSelection } from '../button/selection-settings';
import { KendoButtonService } from '../button/button.service';
import { PreventableEvent } from '../preventable-event';
import * as i0 from "@angular/core";
/**
* Represents the Kendo UI ButtonGroup component for Angular.
*
* @example
* ```html
* <kendo-buttongroup>
* <button kendoButton>Left</button>
* <button kendoButton>Middle</button>
* <button kendoButton>Right</button>
* </kendo-buttongroup>
* ```
*
* @remarks
* Supported children components are: {@link ButtonComponent}.
*/
export declare class ButtonGroupComponent implements OnInit, OnDestroy, AfterContentChecked, AfterViewChecked, AfterContentInit {
private service;
private renderer;
private element;
/**
* To disable a specific button, set **only** its `disabled` property to `true`.
* If you also set the ButtonGroup `disabled` property, it takes precedence over
* the `disabled` properties of the underlying buttons and they are ignored.
*/
disabled: boolean;
/**
* Sets the selection mode of the ButtonGroup.
*
* @default 'multiple'
*/
selection: ButtonGroupSelection;
/**
* Sets the width of the ButtonGroup.
* When set, the buttons resize automatically to fill the full width of the group wrapper and acquire the same width.
*/
width: string;
/**
* Specifies the [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
*/
set tabIndex(value: number);
get tabIndex(): number;
/**
* When set to `true`, the component is a single tab-stop,
* and focus moves through the inner buttons using the arrow keys.
*
* When set to `false`, the inner buttons are part of the natural tab sequence of the page.
*
* @default true
*/
navigable: boolean;
/**
* Fires every time keyboard navigation occurs within the ButtonGroup.
*/
navigate: EventEmitter<PreventableEvent>;
buttons: QueryList<ButtonComponent>;
private _tabIndex;
private currentTabIndex;
private lastFocusedIndex;
private direction;
private subs;
wrapperClasses: boolean;
get disabledClass(): boolean;
get stretchedClass(): boolean;
role: string;
get dir(): string;
get ariaDisabled(): boolean;
get wrapperWidth(): string;
get wrapperTabIndex(): number;
constructor(service: KendoButtonService, localization: LocalizationService, renderer: Renderer2, element: ElementRef);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngAfterContentInit(): void;
ngAfterViewChecked(): void;
ngOnDestroy(): void;
ngAfterContentChecked(): void;
protected navigateFocus(event: any): void;
protected deactivate(buttons: Array<ButtonComponent>): void;
protected activate(buttons: Array<ButtonComponent>): void;
protected defocus(buttons: Array<ButtonComponent>): void;
protected focus(buttons: Array<ButtonComponent>): void;
private verifySettings;
private isSelectionSingle;
private handleSubs;
private focusHandler;
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonGroupComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonGroupComponent, "kendo-buttongroup", ["kendoButtonGroup"], { "disabled": { "alias": "disabled"; "required": false; }; "selection": { "alias": "selection"; "required": false; }; "width": { "alias": "width"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "navigable": { "alias": "navigable"; "required": false; }; }, { "navigate": "navigate"; }, ["buttons"], ["[kendoButton]"], true, never>;
}